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

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

Жанры

Программирование на Java
Шрифт:

finally new this catch float package

throw char for private throws class

goto protected transient const if

public try continue implements return

void default import short volatile do

instanceof static while

Ключевые слова goto и const зарезервированы, но не используются. Это сделано для того, чтобы компилятор мог правильно отреагировать на их использование в других языках. Напротив, оба булевских литерала true, false и null- литерал null часто считают ключевыми словами (возможно, потому, что многие средства разработки подсвечивают их таким же образом), однако это именно литералы.

Значение

всех ключевых слов будет рассматриваться в следующих лекциях.

Литералы

Литералы позволяют задать в программе значения для числовых, символьных и строковых выражений, а также null- литералов. Всего в Java определено 6 видов литералов:

* целочисленный (integer);

* дробный (floating-point);

* булевский (boolean);

* символьный (character);

* строковый (string);

* null- литерал (null-literal).

Рассмотрим их по отдельности.

Целочисленные литералы

Целочисленные литералы позволяют задавать целочисленные значения в десятеричном, восьмеричном и шестнадцатеричном виде. Десятеричный формат традиционен и ничем не отличается от правил, принятых в других языках. Значения в восьмеричном виде начинаются с нуля, и, конечно, использование цифр 8 и 9 запрещено. Запись шестнадцатеричных чисел начинается с 0x или 0X (цифра 0 и латинская ASCII -буква X в произвольном регистре). Таким образом, ноль можно записать тремя различными способами:

0

00

0x0

Как обычно, для записи цифр 10 - 15 в шестнадцатеричном формате используются буквы A, B, C, D, E, F, прописные или строчные. Примеры таких литералов:

0xaBcDeF, 0xCafe, 0xDEC

Типы данных рассматриваются ниже, однако здесь необходимо упомянуть два целочисленных типа int и long длиной 4 и 8 байт, соответственно (или 32 и 64 бита, соответственно). Оба эти типа знаковые, т.е. тип int хранит значения от -231 до 231– 1, или от -2.147.483.648 до 2.147.483.647. По умолчанию целочисленный литерал имеет тип int, а значит, в программе допустимо использовать литералы только от 0 до 2147483648, иначе возникнет ошибка компиляции. При этом литерал 2147483648 можно использовать только как аргумент унарного оператора - :

int x = -2147483648; \\ верно

int y = 5-2147483648;

\\ здесь возникнет

\\ ошибка компиляции

Соответственно, допустимые литералы в восьмеричной записи должны быть от 00 до 017777777777 ( =231– 1 ), с унарным оператором - допустимо также -020000000000 ( = -231 ). Аналогично для шестнадцатеричного формата – от 0x0 до 0x7fffffff ( =231– 1 ), а также -0x80000000 ( = -231 ).

Тип long имеет длину 64 бита, а значит, позволяет хранить значения от -263 до 263– 1. Чтобы ввести такой литерал, необходимо в конце поставить латинскую букву L или l, тогда все значение будет трактоваться как long. Аналогично можно выписать максимальные допустимые значения для них:

9223372036854775807L

0777777777777777777777L

0x7fffffffffffffffL

// наибольшие отрицательные

значения:

– 9223372036854775808L

– 01000000000000000000000L

– 0x8000000000000000L

Другие примеры целочисленных литералов типа long:

0L, 123l, 0xC0B0L

Дробные литералы

Дробные литералы представляют собой числа с плавающей десятичной точкой. Правила записи таких чисел такие же, как и в большинстве современных языков программирования.

Примеры:

3.14

2.

.5

7e10

3.1E-20

Таким образом, дробный литерал состоит из следующих составных частей:

* целая часть;

* десятичная точка (используется ASCII -символ точка);

* дробная часть;

* порядок (состоит из латинской ASCII -буквы E в произвольном регистре и целого числа с опциональным знаком + или - );

* окончание-указатель типа.

Целая и дробная части записываются десятичными цифрами, а указатель типа (аналог указателя L или l для целочисленных литералов типа long ) имеет два возможных значения – латинская ASCII -буква D (для типа double ) или F (для типа float ) в произвольном регистре. Они будут подробно рассмотрены ниже.

Необходимыми частями являются:

* хотя бы одна цифра в целой или дробной части;

* десятичная точка или показатель степени, или указатель типа.

Все остальные части необязательные. Таким образом, "минимальные" дробные литералы могут быть записаны, например, так:

1.

.1

1e1

1f

В Java есть два дробных типа, упомянутые выше, – float и double. Их длина – 4 и 8 байт или 32 и 64 бита, соответственно. Дробный литерал имеет тип float, если он заканчивается на латинскую букву F в произвольном регистре. В противном случае он рассматривается как значение типа double и может включать в себя окончание D или d, как признак типа double (используется только для наглядности).

// float-литералы:

1f, 3.14F, 0f, 1e+5F

// double-литералы:

0., 3.14d, 1e-4, 31.34E45D

В Java дробные числа 32-битного типа float и 64-битного типа double хранятся в памяти в бинарном виде в формате, стандартизированном спецификацией IEEE 754 (полное название – IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard 754-1985 (IEEE, New York)). В этой спецификации описаны не только конечные дробные величины, но и еще несколько особых значений, а именно:

* положительная и отрицательная бесконечности (positive/negative infinity);

* значение "не число", Not-a-Number, сокращенно NaN;

* положительный и отрицательный нули.

Для этих значений нет специальных обозначений. Чтобы получить такие величины, необходимо либо произвести арифметическую операцию (например, результатом деления ноль на ноль 0.0/0.0 является NaN ), либо обратиться к константам в классах Float и Double, а именно POSITIVE_INFINITY, NEGATIVE_INFINITY и NaN. Более подробно работа с этими особенными значениями рассматривается в следующей лекции.

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

Очарованная душа

Роллан Ромен
Проза:
классическая проза
6.00
рейтинг книги
Очарованная душа

Бернард Шоу

Пирсон Хескет
След в истории
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Бернард Шоу

Стеллар. Компиляция. Книги 1-9

Прокофьев Роман Юрьевич
Стеллар
Фантастика:
киберпанк
рпг
постапокалипсис
технофэнтези
5.00
рейтинг книги
Стеллар. Компиляция. Книги 1-9

Две могилы

Престон Дуглас
12. Пендергаст
Детективы:
триллеры
прочие детективы
8.90
рейтинг книги
Две могилы

Философия

Коллектив авторов
Научно-образовательная:
философия
учебники
5.00
рейтинг книги
Философия

"Фантастика 2025-70". Компиляция. Книги 1-31

Волков Николай Владимирович
Фантастика 2025. Компиляция
Фантастика:
боевая фантастика
попаданцы
фэнтези
5.00
рейтинг книги
Фантастика 2025-70. Компиляция. Книги 1-31

Простые смертные

Митчелл Дэвид Стивен
Интеллектуальный бестселлер. Читает весь мир.
Фантастика:
социально-философская фантастика
7.17
рейтинг книги
Простые смертные

Слово президента

Клэнси Том
8. Джек Райан
Детективы:
политические детективы
6.20
рейтинг книги
Слово президента

Место под солнцем

Марклунд Лиза
Анника Бенгтзон
Детективы:
криминальные детективы
6.00
рейтинг книги
Место под солнцем

Золотой Лис

Смит Уилбур
8. Кортни
Приключения:
прочие приключения
8.22
рейтинг книги
Золотой Лис

Обрыв

Гончаров Иван Александрович
Гончаров И. А. Романы
Проза:
русская классическая проза
5.00
рейтинг книги
Обрыв

Миллион приключений (сборник)

Булычев Кир
15. Отцы-основатели - Русское пространство. Кир Булычев - Собрание сочинений
Фантастика:
научная фантастика
7.00
рейтинг книги
Миллион приключений (сборник)

Игра с огнем

Джейн Анна
2. Мой идеальный смерч
Любовные романы:
современные любовные романы
9.51
рейтинг книги
Игра с огнем

Весь Гамильтон Эдмонд в одном томе

Гамильтон Эдмонд Мур
Абсолют
Фантастика:
боевая фантастика
ужасы и мистика
космическая фантастика
5.00
рейтинг книги
Весь Гамильтон Эдмонд в одном томе