%
Возвращает остаток от деления.
Доступно с: Java 1.0
Синтаксис
a % bПримеры
Чётность и последняя цифра:
void main() {
IO.println(17 % 5);
IO.println(10 % 2 == 0 ? "even" : "odd");
IO.println(1234 % 10);
}Результат:
2
even
4Знак результата — как у делимого:
void main() {
IO.println(-7 % 3);
IO.println(Math.floorMod(-7, 3));
IO.println(7.5 % 2);
}Результат:
-1
2
1.5Примечания
Для отрицательных чисел % даёт отрицательный остаток, поэтому проверка нечётности пишется как n % 2 != 0, а не n % 2 == 1. Если нужен остаток от 0 до b - 1 (например, для дней недели по кругу), используйте Math.floorMod(). Остаток от деления целого на 0 бросает ArithmeticException.
См. также
- Math.floorMod() — Остаток от деления, который всегда имеет знак делителя.
- ++ / -- — Увеличивает или уменьшает переменную на единицу.
Вопросы и ответы по теме
В учебнике
- Операторы — Арифметические операторы Java, целочисленное деление и остаток, составное присваивание, инкремент, сравнение и логические операторы.