Арифметические операторы
В этом уроке речь пойдет про арифметические операции и операторы.
В программировании операторы — это команды, выполняющие определённые действия: математические, строковые, логические или операции сравнения. К арифметическим операторам в Java относятся: + (сложение), - (вычитание), * (умножение), / (деление) и % (взятие остатка). Эти операторы работают аналогично другим языкам программирования.
Приоритет операций в Java такой же, как и в математике:
Первая группа:/,*,%
Вторая группа:+,-
Ограничения
Операторы * (умножение) и / (деление) имеют более высокий приоритет и применимы к любым числовым типам, включая char. Однако деление на ноль недопустимо — программа выбросит исключение ArithmeticException.
Типы данных в Java имеют строгие диапазоны значений. Например:
byte xyz = 125 + 15; // Ошибка — превышен диапазон byte (-128 до 127)
Тип byte занимает 8 бит, и если результат выходит за пределы этого диапазона, возникает ошибка.
Данные в компьютере хранятся в виде нулей и единиц (в двоичной системе). Именно поэтому тип данных определяет, сколько памяти выделяется для хранения значения. Если выбрать слишком маленький тип, можно столкнуться с нехваткой разрядности или потерей точности.
Пример деления
Если вы делите целые числа, то и результат будет целым (дробная часть отбрасывается):
byte ab = 12 / 9; // Результат: 1
Если не учитывать особенности типов данных, умножение может привести к нехватке разрядности, а деление — к потере точности.
Деление по модулю
Оператор % возвращает остаток от деления. Например:
13 % 9; // Результат: 4
Операнды (например, 13 и 9) чаще всего целочисленные, но оператор может применяться и к числам с плавающей точкой. Важно помнить: знак результата зависит от левого операнда.
Как работает оператор %
Он вычитает правый операнд из левого, пока результат не станет меньше правого:
15 % 4 = 3
19 % 5 = 4
22 % 6 = 4
Например: 15 - 4 = 11 (>4), 11 - 4 = 7 (>4), 7 - 4 = 3 (<4), следовательно 15 % 4=3.
Инкрементирование и декрементирование
Инкрементирование (от англ. increment — увеличение) обозначается двойным плюсом ++. Декрементирование (уменьшение) — двойным минусом --.
Префиксная форма:
int a = 5;
++a; // a = 6 — инкрементирование
--a; // a = 5 — декрементирование
Постфиксная форма:
int a = 5;
a++; // a = 6 — инкрементирование
a--; // a = 5 — декрементирование
Разница между префиксной и постфиксной формой проявляется, когда операция выполняется в выражении — префиксная изменяет значение сразу, постфиксная — после использования переменной.
Домашнее задание
- Создайте переменные разных числовых типов (
byte,int,float,double). - Попробуйте выполнить с ними операции:
+,-,*,/,%. - Проверьте, что произойдет при делении на ноль.
- Попробуйте применить
++и--в префиксной и постфиксной формах.
Тест — Насколько ты понял урок?
Галерея
Полезные статьи:
Новые статьи: