В этой лекции уже применялись следующие идентификаторы:
Character, a, b, c, D, x1, x2, Math, sqrt, x,
y, i, s, PI, getRadius, circle, getAbs,
calculate, condition, getWidth, getHeight,
java, lang, String
Также допустимыми являются идентификаторы:
Computer, COLOR_RED, _, aVeryLongNameOfTheMethod
Ключевые слова
Ключевые слова – это зарезервированные слова, состоящие из ASCII -символов и выполняющие различные задачи языка. Вот их полный список (48 слов):
abstract double int strictfp
boolean else interface super
break extends long switch byte
final native synchronized case
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 хранит значения от -2 31до 2 31-1, или от -2.147.483.648 до 2.147.483.647. По умолчанию целочисленный литерал имеет тип int, а значит, в программе допустимо использовать литералы только от 0 до 2147483648, иначе возникнет ошибка компиляции. При этом литерал 2147483648 можно использовать только как аргумент унарного оператора - :
int x = -2147483648; \\ верно
int y = 5-2147483648;
\\ здесь возникнет
\\ ошибка компиляции
Соответственно, допустимые литералы в восьмеричной записи должны быть от 00 до 017777777777 ( =2 31-1 ), с унарным оператором - допустимо также -020000000000 ( = -2 31). Аналогично для шестнадцатеричного формата – от 0x0 до 0x7fffffff ( =2 31-1 ), а также -0x80000000 ( = -2 31).
Тип long имеет длину 64 бита, а значит, позволяет хранить значения от -2 63до 2 63-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 ) в произвольном регистре. Они будут подробно рассмотрены ниже.
Необходимыми частями являются:
* хотя бы одна цифра в целой или дробной части;
* десятичная точка или показатель степени, или указатель типа.
Читать дальше