Символьные литералы описывают один символ из набора Unicode, заключенный в одиночные кавычки, или апострофы ( ASCII -символ single quote, u0027 ). Например:
'a' // латинская буква а ' ' // пробел 'K' // греческая буква каппа
Также допускается специальная запись для описания символа через его код (см. тему 'Кодировка'). Примеры:
'u0041' // латинская буква A 'u0410' // русская буква А 'u0391' // греческая буква A
Символьный литерал должен содержать строго один символ, или специальную последовательность, начинающуюся с . Для записи специальных символов (неотображаемых и служебных, таких как ', ', ) используются следующие обозначения:
u0008 backspace BS – забой u0009 horizontal tab HT – табуляция u000a linefeed LF – конец строки f u000c form feed FF – конец страницы u000d carriage return CR – возврат каретки ' u0022 double quote ' – двойная кавычка ' u0027 single quote ' – одинарная кавычка \ u005c backslash – обратная косая черта шестнадцатеричный код от u0000 до u00ff символа в шестнадцатеричном формате.
Первая колонка описывает стандартные обозначения специальных символов, используемые в Java- программах. Вторая колонка представляет их в стандартном виде Unicode -символов. Третья колонка содержит английские и русские описания. Использование в комбинации с другими символами приведет к ошибке компиляции.
Поддержка ввода символов через восьмеричный код обеспечивается для совместимости с С. Например:
'101' // Эквивалентно 'u0041'
Однако таким образом можно задать лишь символы от u0000 до u00ff (т.е. с кодом от 0 до 255), поэтому Unicode -последовательности предпочтительней.
Поскольку обработка Unicode -последовательностей ( uhhhh ) производится раньше лексического анализа, то следующий пример является ошибкой:
'u000a' // символ конца строки
Компилятор сначала преобразует u000a в символ конца строки и кавычки окажутся на разных строках кода, что является ошибкой. Необходимо использовать специальную последовательность:
' ' // правильное обозначение конца строки
Аналогично и для символа u000d (возврат каретки) необходимо использовать обозначение .
Специальные символы можно использовать в составе как символьных, так и строковых литералов.
Строковые литералы
Строковые литералы состоят из набора символов и записываются в двойных кавычках. Длина может быть нулевой или сколь угодно большой. Любой символ может быть представлен специальной последовательностью, начинающейся с (см. 'Символьные литералы ').
'' // литерал нулевой длины ''' //литерал, состоящий из одного символа ' 'Простой текст' //литерал длины 13
Строковый литерал нельзя разбивать на несколько строк в коде программы. Если требуется текстовое значение, состоящее из нескольких строк, то необходимо воспользоваться специальными символами и/или . Если же текст просто слишком длинный, чтобы уместиться на одной строке кода, можно использовать оператор конкатенации строк +. Примеры строковых литералов:
// выражение-константа, составленное из двух // литералов 'Длинный текст ' + 'с переносом' /*
На строковые литералы распространяются те же правила, что и на символьные в отношении использования символов новой строки u000a и u000d.
Каждый строковый литерал является экземпляром класса String. Это определяет некоторые необычные свойства строковых литералов, которые будут рассмотрены в следующей лекции.
Null-литерал
Null- литерал может принимать всего одно значение: null. Это литерал ссылочного типа, причем эта