Литералы с плавающей точкой
Фрагмент таблицы Unicod с кириллическими символами
(www.unicode.org)
ЛИТЕРАЛЫ
(тема для самостоятельного рассмотрения)
Литерал (англ. literal — константа) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение.
Целочисленные литералы
В программе могут встретиться, например, следующие строки:
short a,b,c;
a=158; b=0236; c=0x9E;
// значения переменных a, b, c равны.
Равенство переменных a, b и c подтверждается следующим рисунком.
На следующем рисунке продемонстрировано максимальное число, помещающееся в диапазоне типа short.
Для других целочисленных типов представить запись максимальных значений в Java самостоятельно.
Восьмеричные значения обозначаются в Java ведущим нулем.
Десятичные значения не могут иметь ведущего нуля.
Значение 09, встреченное в программе, вызовет ошибку компилятора, т.к. цифра 9 ─ вне восьмеричного диапазона от 0 до 7.
Шестнадцатиричную константу обозначают с ведущими нулями: 0x или 0X.
Целые литералы создают значение типа int (32-разрядное целое число).
Когда литеральное значение назначается byte- или short-переменной, ошибка не генерируется, если это значение находится в пределах диапазона целевого типа.
Целый литерал может всегда назначаться переменной типа long. Однако, чтобы задать длинный литерал, нужно явно сообщить компилятору, что значение имеет тип long. Это осуществляется добавлением символа L (в верхнем или нижнем регистре).
Например, 0x7FFFFFFFFFFFFFFFL или 9223372036854775807L – самый большой целочисленный литерал.
Литералы с плавающей точкой
Могут быть выражены в стандартной или научной (экспоненциальной) форме.
Стандартная форма состоит из целого компонента, за которым следует десятичная точка, а далее – дробная компонента.
Например, 2.0, 3.14159, 0.25.
Научная форма представления использует стандартные обозначения: число с плавающей точкой (мантисса) плюс суффикс, определяющий степень 10, на которую должно быть умножено число. Экспонента (возведение в степень) обозначается буквой E или e (английского алфавита). За ней следует положительное или отрицательное число – порядок степени.
Например, ─ 6.022E23, 314159E ─05, 2e+100
В программе можем встретить, например, следующие строки:
double a=─299.555E─2;
float b=0.5f ;
Следующий рисунок демонстрирует научную форму представления действительного числа.
По умолчанию литералы с плавающей точкой Java имеют double-точность. Чтобы определить float-литерал, следует добавить в конец его записи символ F или f. Можно также явно определить double-литерал, добавляя D или d конец его записи, но такое определение будет избыточным.
Булевы литералы
Имеются только два логических значения true и false.
Эти значения в Java не конвертируются в какое-либо числовое представление (например, 1 и 0) и могут быть назначены только переменным типа boolean, или использоваться в выражениях с булевскими операциями (логических выражениях).
boolean a,b;
a=true; b=false;
Символьные литералы
Способы представления:
1) Целое число, являющееся кодом символа в таблице Unicode:
Char ch1=88; // код для символа 'X’
2) Непосредственно символ (видимый) в одинарных кавычках (апострофах):
char ch2='Y';
3) В виде escape-последовательности.
Видимый литеральный символ можно представить внутри пары одиночных кавычек (апострофов): 'F', 'z', 'и', 'Я', '@', ' ' (пробел).
Для символов, которые невозможно ввести непосредственно, существует несколько escape-последовательностей, позволяющих ввести нужный символ, например, '\'' для самой одиночной кавычки,
'\n' для символа newline.
Имеется механизм для прямого ввода кода символа в восьмеричном или шестнадцатеричном представлении.
Для восьмеричной формы используют слэш (\), за которым следует восьмеричное число из трех цифр. Например, '\141' – символ 'a'.
Для шестнадцатеричного представления нужно ввести обратный слэш с символом u – признак Unicode (\u), затем четыре шестнадцатеричные цифры.