Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Math.floorMod()

Остаток от деления, который всегда имеет знак делителя.

Доступно с: Java 8

Синтаксис

static int floorMod(int x, int y)

Параметры

ПараметрТипОписание
xint / longДелимое.
yint / 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, целочисленное деление и остаток, составное присваивание, инкремент, сравнение и логические операторы.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.