Литералы
Литералы — это константы, которые записаны по правилам языка Java. Рассмотрим сначала целочисленные литералы. Приведем примеры целочисленных литералов.
111 — десятичное (десятеричное) число
056 — число 46 в восьмеричной форме
0 х АВ — 171 в шестнадцатеричной форме
В языке Java возможны три системы счисления: десятичная (десятеричная), восьмеричная и шестнадцатеричная. Числа в десятичной форме — это числа с основанием 10, числа в восьмеричной форме — это числа с основанием 8, числа в шестнадцатеричной форме — числа с основанием 16. Записи чисел в восьмеричной форме начинаются с 0, далее каждая цифра числа должна быть от 0 до 7. Преобразуются они в десятичные числа так: рассмотрим, например, число 056 в восьмеричной форме. В десятичной форме это число записывается так.
5×8 + 6 = 46
Запись числа в шестнадцатеричной форме начинается с символов 0х, а последующие цифры должны быть от 0 до 15. Поскольку, например, число — это 2 цифры, а нужно записать его одной цифрой, то числа от 10 до 15 записываются буквами от А до f. Рассмотрим правила перехода шестнадцатеричных чисел в десятичные. Возьмем, например, число 0 х АВ. В десятичной форме это число будет записываться так.
10 х 16 + 11 = 171.
Записи числа с типом данных long (“длинные целые числа” — об этом далее) обычно имеют на конце символ 1 (чтобы отличить их от целочисленных констант типа int — простых чисел).
Рассмотрим теперь литералы для чисел с плавающей точкой.
18.01
31.4е-1
0.314е1
Эти литералы, как и целочисленные, могут иметь знаки “+” и (т.е. быть положительными или отрицательными), иметь в записи точку, которая разделяет целую и дробную часть, а также букву е и следом за ней — степень, в которую необходимо возвести число (если степень положительная, знак “+” можно не указывать).
Рассмотрим теперь, как выглядят символьные литералы.
‘а’
‘b’
‘с’
Символьные литералы должны заключаться в одинарные кавычки. Среди символьных литералов есть так называемые еsсаре-последовательности, которые позволяют произвести какую-либо операцию, например, перевести курсор на новую строку или вывести обратную косую черту.
Они представляют собой набор последовательностей вида \uaaaaa, где вместо а могут быть какие-либо символы или числа. Однако есть специальные символы, которые соответствуют еsсаре-последовательностям. Эти специальные символы представлены в табл. 2.1.
Таблица 2.1. Специальные символы, соответствующие еsсаре-последовательностям
Специальные символы | Действие |
\а | Предупреждение (звонок) |
\b | Возврат курсора на шаг |
\f | Перевод страницы |
\n | Следующая строка (перевод на новую строку) |
\r | Возврат каретки |
\t | Табуляция |
\\ | Отображение обратной косой черты |
\’ | Отображение одинарной кавычки |
\” | Отображение двойной кавычки |
\ааа | Символ восьмеричного значения (не более 377 — т.е. 255 в десятичной системе) |
Рассмотрим теперь строковые литералы.
Они принадлежат объектам типа String и располагаются между двумя кавычками, например:
“Строка”
“Старая строка \п Новая строка”
“До табуляций \t После табуляции”
К булевым литералам относятся такие значения, как true (истина) и false (ложь). Они служат для представления логического (или булева) типа данных — boolean.
Наконец последний тип литералов — ссылочный литерал — null. Его можно использовать для присвоения значений объекту, т.е. сделать так, чтобы объект не был инициализирован.
“степень, в которую необходимо возвести число”
31.4е-1 = 31.4^(-1) = 1/31.4
31.4е-1 = 31.4*10^(-1) = 31.4/10 = 3.14 != 1/31.4