Math.floorMod()
Остаток от деления, который всегда имеет знак делителя.
Доступно с: Java 8
Синтаксис
static int floorMod(int x, int y)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| x | int / long | Делимое. |
| y | int / long | Делитель. |
Возвращаемое значение
int / longДля положительного y — число от 0 до y - 1.
Примеры
Сравнение с оператором %:
void main() {
IO.println(-1 % 7);
IO.println(Math.floorMod(-1, 7));
}Результат:
-1
6День недели «по кругу»: на 3 дня раньше понедельника (индекс 0):
void main() {
String[] days = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
int index = Math.floorMod(0 - 3, 7);
IO.println(days[index]);
}Результат:
FriПримечания
Для положительных чисел floorMod() и % совпадают. Разница только при отрицательном делимом — как раз там, где % даёт неудобный отрицательный индекс массива. Парный метод Math.floorDiv() делит с округлением вниз.
См. также
- % — Возвращает остаток от деления.
- Math.floor() — Округляет вниз — до ближайшего меньшего или равного целого.
Вопросы и ответы по теме
В учебнике
- Операторы — Арифметические операторы Java, целочисленное деление и остаток, составное присваивание, инкремент, сравнение и логические операторы.