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Задание
НовичокНапишите код, который инициализирует три переменные: a (int), b (double) и c (int) значениями 9, 2.6 и 11 (соответственно).
После этого инициализируйте следующие переменные:
d (int), которая будет содержать результатaпо модулю2e (int), которая будет содержать результатaпо модулю3f (double), которая будет содержать результатbпо модулю1.5g (double), которая будет содержать результатbпо модулю3.9h (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);
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else