Чтение онлайн

на главную - закладки

Жанры

Программирование на Java

Вязовик Н.А.

Шрифт:

// ошибки нет, компилятор сам округляет до 1

1.00000000000000000000000000000000000000000001f

Стандартных возможностей вводить дробные значения не в десятичной системе в Java нет, однако классы Float и Double предоставляют много вспомогательных методов, в том числе и для такой задачи.

Логические литералы

Логические литералы имеют два возможных значения – true и false. Эти два зарезервированных слова не являются ключевыми, но также не могут использоваться в качестве идентификатора.

Символьные литералы

Символьные литералы описывают один символ из набора Unicode, заключенный в одиночные кавычки, или апострофы ( ASCII -символ single quote, \u0027 ). Например:

'a' // латинская буква а

' ' // пробел

'K' // греческая буква каппа

Также допускается специальная запись для описания символа через его код (см. тему "Кодировка"). Примеры:

'\u0041' // латинская буква A

'\u0410' // русская буква А

'\u0391' // греческая буква A

Символьный литерал должен содержать строго один символ, или специальную последовательность, начинающуюся с \. Для записи специальных символов (неотображаемых и служебных, таких как ", ', \ ) используются следующие обозначения:

\b \u0008 backspace BS – забой

\t \u0009 horizontal tab HT – табуляция

\n \u000a linefeed LF – конец строки

\f \u000c form feed FF – конец страницы

\r \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 в символ конца строки и кавычки окажутся на разных строках кода, что является ошибкой. Необходимо использовать специальную последовательность:

'\n' // правильное обозначение конца строки

Аналогично и для символа \u000d (возврат каретки) необходимо использовать обозначение \r.

Специальные символы можно использовать в составе как символьных, так и строковых литералов.

Строковые литералы

Строковые литералы состоят из набора символов и записываются в двойных кавычках. Длина может быть нулевой или сколь угодно большой. Любой символ может быть представлен специальной последовательностью, начинающейся с \ (см. "Символьные литералы ").

"" // литерал нулевой длины

"\"" //литерал, состоящий из одного символа "

"Простой текст" //литерал длины 13

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

// выражение-константа, составленное из двух

// литералов

"Длинный текст " +

"с переносом"

/*

* Строковый литерал, содержащий текст

* из двух строк:

* Hello, world!

* Hello!

*/

"Hello, world!\r\nHello!"

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

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

Null-литерал

Null- литерал может принимать всего одно значение: null. Это литерал ссылочного типа, причем эта ссылка никуда не ссылается, объект отсутствует. Разумеется, его можно применять к ссылкам любого объектного типа данных. Типы данных подробно рассматриваются в следующей лекции.

Разделители

Разделители – это специальные символы, которые используются в служебных целях языка. Назначение каждого из них будет рассмотрено по ходу изложения курса. Вот их полный список:

[ ] { } ; . ,

Операторы

Операторы используются в различных операциях – арифметических, логических, битовых, операциях сравнения и присваивания. Следующие 37 лексем (все состоят только из ASCII -символов) являются операторами языка Java:

= > < ! ? :

== <= >= != && || ++ --

+ - / & | ^ % << >> >>>

+= -= = = &= |= ^= %= <<= >>= >>>=

Большинство из них вполне очевидны и хорошо известны из других языков программирования, однако некоторые нюансы в работе с операторами в Java все же присутствуют, поэтому в конце лекции приводятся краткие комментарии к ним.

Поделиться:
Популярные книги

"Дальние горизонты. Дух". Компиляция. Книги 1-25

Усманов Хайдарали
Собрание сочинений
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Дальние горизонты. Дух. Компиляция. Книги 1-25

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

Неудержимый. Книга XXII

Боярский Андрей
22. Неудержимый
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Неудержимый. Книга XXII

Мажор. Дилогия.

Соколов Вячеслав Иванович
Фантастика:
боевая фантастика
8.05
рейтинг книги
Мажор. Дилогия.

Адепт. Том 1. Обучение

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
9.27
рейтинг книги
Адепт. Том 1. Обучение

Кодекс Охотника. Книга XXV

Винокуров Юрий
25. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга XXV

Газлайтер. Том 29

Володин Григорий Григорьевич
29. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 29

Как я строил магическую империю 10

Зубов Константин
10. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 10

Революция

Валериев Игорь
9. Ермак
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Революция

Неучтенный элемент. Том 1

NikL
1. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 1

Чужак из ниоткуда

Евтушенко Алексей Анатольевич
1. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда

Моров. Том 5

Кощеев Владимир
4. Моров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Моров. Том 5