Литералы
Значения примитивных типов данных в большинстве случаев инициализируются с помощью литералов. Рассмотрим их.
Целочисленные литералы
Наиболее часто используемые литералы. Любое целочисленное значение является числовым литералом (например, -10, 10 — десятичные значения). Можно использовать восьмеричные, шестнадцатеричные и двоичные литералы:
int decimal = 10;
int octal = 010;
int hexadecimal = 0x10;
int binary = 0b10;
Все целочисленные литералы представляют значения int. Если значение литерала лежит в диапазоне byte, short или 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;
Литералы с плавающей точкой
Существует две формы записи литеров с плавающей точкой: стандартная и экспоненциальная:
double d1 = 0.;
double d2 = 0.125;
double d3 = 125E+10;
double d4 = 1.25e-10;
Всех литералам с плавающей точкой по-умолчанию присваивается тип double. Поэтому чтобы создать литерал типа float, нужно после литерала указать букву 'f' или 'F'. К литералам также можно добавлять букву 'd' или 'D', сообщая, что это литерал типа double, но зачем?
double d1 = 0.125;
float f2 = 0.125f;
Можно использовать шестнадцатеричные литералы с плавающей точкой, например:
double d = 0x10.P10d;
float f = 0x20.P10f;
Для удобности чтения длинных литералов в 7 версии языка была добавлена возможность использовать символ '_' внутри литерала:
int phone = 111__111__111;
int bin = 0b1000_1000_1000;
double dollars = 23_000.450__500;
Символьные литералы
Символьные литералы заключаются в одинарные кавычки. Все отображаемые символы можно задавать таким способом. Если символ нельзя ввести непосредственно, используют управляющее последовательности начинающиеся с символа '\'. Хотя все эти последовательности можно заменить соответствующим Unicode кодом. Также символьный литерал можно создать используя восьмеричную ('\xxx') и шестнадцатеричную форму ('\uxxxx').
char h = 'a';
char a = '\001';
char c = '\u0001';
Существуют также строковые литералы. Информацию о них можно получить тут.
Логические литералы
С логическими операторами все просто. Существует только два логических литерала:
boolean yes = true;
boolean no = false;
Логические литералы можно присваивать только переменным типа boolean. Также важно понимать, что false не равен 0, а true не равен 1. Преобразовать переменную типа boolean в другие примитивные типы не выйдет.
|