- •Тема 3. Лексические структуры языка. Примитивные типы данных. Декларация и инициализация переменных. Основные типы операторов.
- •3.1 Примитивные типы данных
- •3.2 Лексические структуры языка
- •3.2.1 Пробелы
- •3.2.2 Идентификаторы
- •3.2.3 Константы
- •3.2.4 Комментарии
- •3.2.5 Разделители
- •3.2.6 Ключевые слова Java
- •4 Операторы
- •4.1 Операция присваивания
- •4.2 Унарные операции
- •4.3 Арифметические бинарные операции
- •4.6 Операции сравнения
- •4.6.1 Логические операции
- •4.7 Условная операция
- •4.8 Приоритет операций
- •4.9 Преобразование и приведение типов при выполнении операций
- •4.10 Переполнение целого числа
- •4.11 Операции с дробными типами
- •4.12 Операция конкатенации строк
- •5 Классы-обертки
- •6 Уловки и ловушки, связанные с плавающей точкой и десятичными числами
- •6.1 Плавающая точка ieee
- •6.2 Специальные числа
- •6.3 Непредвиденные обстоятельства использования плавающей точки
- •6.4 Ошибки округления
- •6.5 Рекомендации по сравнению чисел с плавающей точкой
- •6.6 Не используйте числа с плавающей точкой для точных значений
- •6.7 Большие десятичные дроби для маленьких чисел
- •6.8 Все методы сравнения не созданы равными
- •6.9 Используйте BigDecimal в качестве типа обмена
- •6.10 Построение чисел BigDecimal
3.2 Лексические структуры языка
3.2.1 Пробелы
Java – язык свободной формы. Это означает, что при написании программы не нужно следовать никаким специальным правилам в отношении отступов. Например, программу Example можно было бы записать в виде одной строки или любым другим способом. Единственное обязательное требование – наличие, по меньшей мере, одного пробела между всеми лексемами, которые еще не разграничены символом операции или разделителем. В Java пробелами являются символы пробела, табуляции или символы новой строки.
3.2.2 Идентификаторы
Идентификаторы используются для идентификации имен классов, методов и переменных. Идентификатором может служить любая последовательность строчных и прописных букв, цифр или символов подчеркивания и символов доллара. Идентификаторы не должны начинаться с цифры, чтобы компилятор не путал их с числовыми константами. Java чувствителен к регистру символов, и поэтому VALUE и Value – различные идентификаторы.
Допустимые идентификаторы:
AvgTemp
count
a4
$test
this_is_ok
Недопустимые идентификаторы:
2count
high-temp
Not/ok
3.2.3 Константы
В Java постоянное значение создается посредством его литерального представления. Например, ниже показано несколько констант:
Тип константы |
Пример значения |
Целочисленная константа - восьмиричная - шестнадцатиричная - типа long |
100 07 0xF 9223372036854775807L |
Значение с плавающей точкой - экспоненциальная функция |
98.6 6.022E23 314159E-05 2e+100 543f |
Символьная константа |
‘X’ |
Строковая константа |
“This is a test” |
Константу можно использовать везде, где допустимо использование значений данного типа.
Когда значение константы типа int присваивается переменной типа byte или short, ошибка не генерируется, если значение константы находится в диапазоне допустимых значений целевого типа. Целочисленное значение можно присваивать типу char, если оно лежит в пределах допустимого диапазона этого типа.
В Java константа true не равна 1, а константа false не равна 0. В Java эти значения могут быть присвоены только тем переменным, которые объявлены как boolean, или использоваться в выражениях с булевскими операциями.
3.2.4 Комментарии
В Java определены три типа комментариев: однострочные, многострочные, комментарий документации. Последний тип комментариев используется для создания HTML-файла документации программы.
/* */ - - многострочный;
// - однострочный;
/** */ или
/**
*
*/- комментарий документации.
3.2.5 Разделители
Java допускает применение нескольких символов в качестве разделителей. Допустимые символы-разделители описаны в таблице 1.
Символ |
Название |
Назначение |
( ) |
Круглые скобки |
Используются для передачи списков параметров в определениях и вызовах методов. Их применяют также для определения приоритета в выражениях, указания выражений в управляющих операторах и указания преобразования типов. |
{ } |
Фигурные скобки |
Используются для указания значений автоматически инициализируемых массивов. Их применяют также для определения блоков кода, классов, методов, и локальных областей определения. |
[ ] |
Квадратные скобки |
Используются для объявления типов массивов. А также при разыменовании значений массивов. |
; |
Точка с запятой |
Завершает операторы |
, |
Запятая |
Разделяет последовательные идентификаторы в объявлениях переменных. Этот символ-разделитель используют также для создания цепочек операторов внутри оператора for |
. |
Точка |
Используется для разделения имен пакетов от подпакетов и классов, а также для отделения переменной или метода от ссылочной переменной. |