Символьные литералы описывают один символ из набора 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

Строковый литерал нельзя разбивать на несколько строк в коде программы. Если требуется текстовое значение, состоящее из нескольких строк, то необходимо воспользоваться специальными символами и/или . Если же текст просто слишком длинный, чтобы уместиться на одной строке кода, можно использовать оператор конкатенации строк +. Примеры строковых литералов:

// выражение-константа, составленное из двух // литералов 'Длинный текст ' + 'с переносом' /* Строковый литерал, содержащий текст из двух строк: Hello, world! Hello! / 'Hello, world! Hello!'

На строковые литералы распространяются те же правила, что и на символьные в отношении использования символов новой строки u000a и u000d.

Каждый строковый литерал является экземпляром класса String. Это определяет некоторые необычные свойства строковых литералов, которые будут рассмотрены в следующей лекции.

Null-литерал

Null- литерал может принимать всего одно значение: null. Это литерал ссылочного типа, причем эта

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату