- •Тема 2. Встроенные типы данных и операторы языка Java
- •Тема 2. Встроенные типы данных и операторы языка Java
- •Встроенные (примитивные) типы данных языка Java
- •Объявление переменных
- •Имена переменных должны удовлетворять следующим требованиям:
- •Операторы языка Java
- •Первая программа
- •Вывод на экран с использованием метода println()
- •Переменные
- •Выражения: строковые, числовые и комбинированные (строки и числа).
- •Комментарии
- •Упражнения
Операторы языка Java
Оператор присваивания
Синтаксис оператора присваивания:
<имя_переменной> = выражение;
Тип переменной и тип значения присваиваемого выражения должны совпадать. В некоторых случаях система автоматически конвертирует значение справа к типу переменной слева. Если тип значения справа не может содержать больше информации, чем тип переменной слева, то присваивание возможно, и произойдет автоматическая конверсия. Однако если тип значения справа может содержать больше информации, чем тип переменной слева, тогда автоматическое конвертирование может привести к потере информации. В этом случае присваивание невозможно.
В Java, как и в С++, допускается приведение типов, которое явным образом вызывает конверсию одного типа в другой.
Синтаксис приведения типов:
<имя_переменной> = (тип данных) выражение;
Когда тип с плавающей точкой приводится к типу целого числа, округления не происходит, и все данные справа от десятичной точки теряются.
Пример:
int myFirst;
double mySecond = 0.001;
myFirst = (int) mySecond;
В результате данного приведения типов переменная myFirst будет содержать целое значение, равное 0.
Примечание (важное наблюдение относительно арифметических действий в Java). Как и в большинстве языков, числовые значения в Java хранятся в двоичной системе счисления. Результаты некоторых десятичных выражений могут не иметь точных представлений в двоичной системе счисления. Некоторые языки пытаются облегчить жизнь, показывая результаты в форме, которую ожидает пользователь. Java использует иной подход: результаты вычислений не форматирует (т.е не уменьшается точность) и показывает пользователю точное значение, использовавшееся в программе. Производя простое арифметическое действие и ожидая результат, скажем 0.5, вы можете увидеть такое значение, как 0.49999999. Вам не следует удивляться. Есть эксплицитные способы отформатировать результат так, чтобы вы получили значение о. 5, но мы не будем их сейчас рассматривать. Пока же просто необходимо помнить, что Java никого не обманывает на этот счет.
Арифметические операторы
Оператор |
Результат |
Оператор |
Результат |
+ |
сложение |
+= |
сложение с присваиванием |
- |
вычитание |
-= |
вычитание с присваиванием |
* |
умножение |
*= |
умножение с присваиванием |
/ |
деление |
/= |
деление с присваиванием |
% |
деление по модулю или модульный оператор (остаток от деления) |
%= |
деление по модулю с присваиванием |
++ |
инкремент |
-- |
декремент |
При делении целых величин результатом будет являться целая часть от деления.
Целочисленные битовые операторы
Оператор |
Результат |
Оператор |
Результат |
~ |
побитовое унарное отрицание(NOT) |
<<< |
сдвиг влево с заполнением нулями |
& |
побитовое И(AND) |
&= |
побитовое И(AND) с присвоением |
| |
побитовое ИЛИ(OR) |
|= |
побитовое ИЛИ(OR) с присвоением |
^ |
побитовое исключение ИЛИ(XOR) |
^= |
побитовое исключение ИЛИ с присвоением |
>> |
сдвиг вправо |
>>= |
сдвиг вправо с присвоением |
>>> |
сдвиг вправо с заполнением нулями |
|
|
Операторы отношений
Оператор |
Результат |
= = |
равно |
!= |
не равно |
> |
больше |
< |
меньше |
<= |
меньше либо равно |
>= |
больше либо равно |
Булевы логические операторы
Оператор |
Результат |
Оператор |
Результат |
& |
логическое И(AND) |
&= |
И(AND) c присвоением |
| |
логическое ИЛИ(OR) |
|= |
ИЛИ(OR) с присвоением |
^ |
логическое исключение ИЛИ(XOR) |
^= |
исключающее ИЛИ(XOR) с присвоением |
|| |
оператор OR быстрой оценки выражения |
= = |
равно |
&& |
оператор AND быстрой оценки выражения |
!= |
не равно |
! |
логическое унарное отрицание(NOT) |
?: |
тернарный оператор if-then-else |
