Символьные литералы описывают один символ из набора Unicode, заключенный в одиночные кавычки, или апострофы (ASCII-символ sin-^ quote, \u0027). Например:
'а' // латинская буква а
''//пробел
"К* // греческая буква каппа
Также допускается специальная запись для описания символа через его код (см. тему "Кодировка"). Примеры:
'\u0041' // латинская буква А '\u0410' // русская буква А '\u0391' // греческая буква А
Символьный литерал должен содержать строго один символ, или специальную последовательность, начинающуюся с \. Для записи специальных символов (неотображаемых и служебных, таких как ",', \) используются следующие обозначения:
\Ь \u0008 backspace BS - забой
\t \u0009 horizontal tab НТ-табуляция
\п \uOOOa linefeed LF - конец строки
\f \uOOOc form feed FF - конец страницы
\r \uOOOd carriage return CR - возврат каретки
\" \u0022 double quote " - двойная кавычка
V \u0027 single quote' - одинарная кавычка
\\ \u005c bacl<slasii \ - обратная косая черта
\восьмеричный код
от \uOOOO до \uOOff символа в восьмеричном формате.
Первая колонка описывает стандартные обозначения специальных символов, используемые в Java-программах. Вторая колонка представляет их в стандартном виде Unicode-символов. Третья колонка содержит английские и русские описания. Использование \ в комбинации с другими символами приведет к ошибке компиляции.
Поддержка ввода символов через восьмеричный код обеспечивается для совместимости с С. Например:
'\101' //Эквивалентно '\u0041'
Однако таким образом можно задать лишь символы от \uOOOO до \uOOff (т.е. с кодом от 0 до 255), поэтому Unicode-последовательности предпочтительней.
Поскольку обработка Umcode-последовательностей (\uiihiili) производится раньше лексического анализа, то следуюищй пример является ошибкой:
'\uOOOa' // символ конца строки
Компилятор сначала преобразует \uOOOa в символ конца строки и кавычки окажутся на разных строках кода, что является ошибкой. Необходимо использовать специальную последовательность:
'\п' // правильное обозначение конца строки
Аналогично и для символа \uOOOd (возврат каретки) необходимо использовать обозначение \г.
Специальные символы можно использовать в составе как символьных, так и строковых литералов.