Воскресенье, 15.06.2025, 21:32
Мой сайт
Приветствую Вас Гость | RSS
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 2
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2015 » Июль » 16 » Литералы
15:30
Литералы

Литералы


Значения примитивных типов данных в большинстве случаев инициализируются с помощью литералов. Рассмотрим их.
 

Целочисленные литералы


Наиболее часто используемые литералы. Любое целочисленное значение является числовым литералом (например, -1010 — десятичные значения). Можно использовать восьмеричные, шестнадцатеричные и двоичные литералы:
 

// десятичный литерал, числа [0, 9], не начинается с 0
int decimal = 10; // 10
// восьмеричный литерал начинается с 0, далее числа [0, 7]
int octal = 010; // 8
// шестнадцатеричный литерал начинается с 0x или 0Х, далее числа [0, 9] и символы [a-f]
int hexadecimal = 0x10; // 16
// двоичный литерал начинается с Оb или 0B, далее числа [0, 1]
int binary = 0b10; // 2


Все целочисленные литералы представляют значения int. Если значение литерала лежит в диапазоне byteshort или char, то его можно присвоить переменной этого типа без приведения типов. Для создания литерала типа long, необходимо явно указать компилятору, дополнив литерал буквой 'l' или 'L':
 

byte b1 = 127;
byte b2 = 128; // ошибка

short s1 = -32768;
short s2 = -32769; // ошибка

char c1 = 0;
char c2 = -1; // ошибка

long l1 = 10l;
long l2 = 0x7fffffffffffffffL; // максимальное значение типа long

 

Литералы с плавающей точкой


Существует две формы записи литеров с плавающей точкой: стандартная и экспоненциальная:
 

// стандартная форма
double d1 = 0.; // эквивалентно .0 или 0.0;
double d2 = 0.125;
// экспоненциальная форма - используется символ 'e' или 'E'
// после него степень числа 10, на которую следует умножить данное число
double d3 = 125E+10; // если степень положительная, '+' можно упустить
double d4 = 1.25e-10;


Всех литералам с плавающей точкой по-умолчанию присваивается тип double. Поэтому чтобы создать литерал типа float, нужно после литерала указать букву 'f' или 'F'. К литералам также можно добавлять букву 'd' или 'D', сообщая, что это литерал типа double, но зачем?
 

double d1 = 0.125;
float f2 = 0.125f;


Можно использовать шестнадцатеричные литералы с плавающей точкой, например:
 

// P - двоичный порядок, что обозначает степень числа 2, на которое следует умножить данное число
double d = 0x10.P10d; // конечно, можно и без 'd' 
float f = 0x20.P10f;


Для удобности чтения длинных литералов в 7 версии языка была добавлена возможность использовать символ '_' внутри литерала:
 

// можно делать любые комбинации с использованием любого количества символов '_'
int phone = 111__111__111;
int bin = 0b1000_1000_1000;
double dollars = 23_000.450__500;
// не допускается использовать символ '_' в конце или начале литерала, также не можно разрывать '0x' и '0b'

 

Символьные литералы


Символьные литералы заключаются в одинарные кавычки. Все отображаемые символы можно задавать таким способом. Если символ нельзя ввести непосредственно, используют управляющее последовательности начинающиеся с символа '\'. Хотя все эти последовательности можно заменить соответствующим Unicode кодом. Также символьный литерал можно создать используя восьмеричную ('\xxx') и шестнадцатеричную форму ('\uxxxx').
 

char h = 'a'; // стандартная форма
char a = '\001'; // восьмеричная форма
char c = '\u0001'; // шестнадцатеричная форма 


Существуют также строковые литералы. Информацию о них можно получить тут.
 

Логические литералы


С логическими операторами все просто. Существует только два логических литерала:
 

boolean yes = true; // истина
boolean no = false; // ложь


Логические литералы можно присваивать только переменным типа boolean. Также важно понимать, что false не равен 0, а true не равен 1. Преобразовать переменную типа boolean в другие примитивные типы не выйдет.

Просмотров: 356 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт
Поиск
Календарь
«  Июль 2015  »
Пн Вт Ср Чт Пт Сб Вс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Друзья сайта
Copyright MyCorp © 2025uCoz