Menu
Coddy logo textTech

Modulo Operator

Часть раздела Основы путешествия по Java на Coddy — урок 16 из 73.

Оператор остатка от деления % возвращает остаток от деления. В Java он используется с простым синтаксисом:

result = dividend % divisor;
  • dividend: Число, которое делят.
  • divisor: Число, на которое делится делимое.
  • result: Остаток от деления.

Например:

result = 10 % 3;

Здесь 10 делится на 3. 3 входит в 10 три раза с остатком 1. Таким образом, result будет равен 1.

Что если делимое меньше делителя? В этом случае делитель входит 0 раз, поэтому остатком является само делимое. Например, 2 % 3 равно 2, так как 3 входит в 2 ноль раз, и в остатке остается 2.

Обычно оператор остатка от деления (modulo) используется для проверки того, является ли число четным или нечетным:

  • Если число четное, деление его на 2 даст остаток 0.
  • Если число нечетное, деление его на 2 даст остаток 1.

При использовании оператора остатка от деления с числами с плавающей запятой (double), он работает аналогично целым числам, но сохраняет десятичную точность. Например:

double result = 5.5 % 2.0;
// результат — 1.5

Вот как это работает: 2.0 входит в 5.5 дважды (4.0), и остаток составляет 1.5 (5.5 - 4.0 = 1.5).

Примечание: значения double хранятся как приближения, поэтому некоторые остатки выводятся с крошечной ошибкой. Например, 5.2 % 2.0 выводит 1.2000000000000002 вместо 1.2. Это нормальное поведение чисел с плавающей запятой, а не ошибка в вашем коде.

Другой пример:

double result = 7.5 % 3.5;
// result равен 0.5
challenge icon

Задание

Новичок

Напишите код, который инициализирует три переменные: a (int), b (double) и c (int) значениями 9, 2.6 и 11 (соответственно).

После этого инициализируйте следующие переменные:

  • d (int), которая будет содержать результат a по модулю 2 
  • e (int), которая будет содержать результат a по модулю 3
  • f (double), которая будет содержать результат b по модулю 1.5
  • g (double), которая будет содержать результат b по модулю 3.9
  • h (int), которая будет содержать результат c по модулю 10

Посмотрите на результат и увидите, как различные делимые и делители влияют на результат.

Попробуйте сами

public class Main {
    public static void main(String[] args) {
        // Напишите свой код ниже
        
        
        // Не изменяйте строку ниже
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
        System.out.println("e = " + e);
        System.out.println("f = " + f);
        System.out.println("g = " + g);
        System.out.println("h = " + h);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы