Математические операторы в Java
Разберём арифметические операторы Java, целочисленное деление и остаток, приоритет операций и частую ошибку с делением целых чисел.
Арифметические операторы выполняют математические действия над числами. В Java их пять: сложение, вычитание, умножение, деление и остаток от деления.
Пять операторов
Оператор | Действие | Пример |
| сложение |
|
| вычитание |
|
| умножение |
|
| деление |
|
| остаток от деления |
|
int a = 7, b = 3;
System.out.println(a + b); // 10
System.out.println(a - b); // 4
System.out.println(a * b); // 21
System.out.println(a % b); // 1 — остаток
Вывод:
10 4 21 1
Ловушка целочисленного деления
Если оба операнда — целые числа, оператор / выполняет целочисленное деление и отбрасывает дробную часть. Это самая частая арифметическая ошибка у новичков.
System.out.println(7 / 2); // 3, а не 3.5 — оба операнда int
System.out.println(7.0 / 2); // 3.5 — хотя бы один double
System.out.println(7 / 2.0); // 3.5
Вывод:
3 3.5 3.5
Чтобы получить дробный результат при делении целых, приведите один из операндов к
double:(double) a / b.
Остаток и его применение
Оператор % возвращает остаток от деления. Его часто используют, чтобы проверить чётность числа или «зациклить» индекс.
int n = 14;
if (n % 2 == 0) {
System.out.println("Чётное");
} else {
System.out.println("Нечётное");
}
Вывод:
Чётное
Приоритет операций
Как и в математике, *, / и % выполняются раньше + и -. Порядок можно изменить скобками.
System.out.println(2 + 3 * 4); // 14: сначала 3*4, потом +2
System.out.println((2 + 3) * 4); // 20: скобки меняют порядок
Вывод:
14 20
Коротко
- Пять операторов:
+ - * /и%(остаток). /над двумяintотбрасывает дробь — приведите операнд кdouble.%удобен для проверки чётности и зацикливания индексов.* / %приоритетнее+ -; порядок меняют скобки.