Деление по модулю в Java
Данная статья:
- написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
- это одна из статей из нашего "Самоучителя по Java"
Ещё со школы мы знакомы с таким понятием как обычное деление:
6 : 2 =3,
12 : 6 =2
и т.д.
С этим все понятно. А что же это за «зверь» такой, деление по модулю ? И звучит то так угрожающе. А на самом деле всё очень и очень просто. Давайте разбираться.
Что Вам нужно понимать:
- Деление по модулю – это оператор
Как работает оператор сложения, вычитания и т.д. наверняка Вы уже знаете. А вот за что отвечает деление по модулю поймёте буквально через пару минут. Немного терпения.
- Деление по модулю обозначается вот таким знаком: %
- Деление по модулю иногда называют mod. То есть если увидите название mod, знайте, речь идет об операторе деление по модулю.
- В чём суть оператора? Деление по модулю даёт остаток от деления.
Давайте посмотрим на примерах как это работает.
Пример №1
Необходимо разделить 9 на 4, используя:
- обычное деление, как нас учили в школе
- деление по модулю
Логику работы оператора деления по модулю Вы уже поняли. Самое время попробовать запустить пример на своём компьютере:
1 2 3 4 5 6 7 8 9 |
class Test { public static void main(String[] args) { int n = 9; int k = 4; int m = n%k; System.out.println(m); } } |
Если Вы запустите этот код на своём компьютере, то в консоль будет выведено такое число:
1
Пример №2
Необходимо разделить 17 на 5, используя:
- обычное деление, как нас учили в школе
- деление по модулю
И пробуем теперь запустить программу на компьютере:
1 2 3 4 5 6 7 8 9 |
class Test { public static void main(String[] args) { int n = 17; int k = 5; int m = n%k; System.out.println(m); } } |
Если Вы запустите этот код на своём компьютере, то в консоль будет выведено такое число:
2
Пример №3
Необходимо разделить 21 на 7, используя:
- обычное деление, как нас учили в школе
- деление по модулю
И пробуем теперь запустить программу на компьютере:
1 2 3 4 5 6 7 8 9 |
class Test { public static void main(String[] args) { int n = 21; int k = 7; int m = n%k; System.out.println(m); } } |
Если Вы запустите этот код на своём компьютере, то в консоль будет выведено такое число:
0
Пример №4
Необходимо разделить 7.6 на 2.9, используя:
- обычное деление, как нас учили в школе
- деление по модулю
И пробуем теперь запустить программу на компьютере:
1 2 3 4 5 6 7 8 9 |
class Test { public static void main(String[] args) { double n = 7.6; double k = 2.9; double m = n%k; System.out.println(m); } } |
Если Вы запустите этот код на своём компьютере, то в консоль будет выведено число, близкое к 1.8. Например, Вы можете увидеть какое-то такое число: 1.7999999999999998. Из-за определённых особенностей Java, которые мы будем с Вами рассматривать позже в других статьях, на разных компьютерах число будет немного отличаться. Но оно будет близкое по значению к 1.8
Итак, как Вы уже поняли, оператор деления по модулю вычисляет остаток от деления.
- Применяется к таким типам переменных:
- Byte, short, Int, long – целочисленный тип переменных
- Float, Double – числа с плавающей точкой
- Отрицательные и положительные числа
Есть небольшой нюанс при использовании оператора деления по модулю с отрицательными и положительными числами.
Работает простое правило:
- Отбрасываете знак минуса
- Делите числа как обычно
- А далее, если первое число (делимое), было со знаком минус, к результату добавляете знак минус.
Пример №5
И пробуем теперь запустить программу на компьютере - один из описанных выше примеров:
1 2 3 4 5 6 7 8 9 |
class Test { public static void main(String[] args) { int n = -9; int k = -4; int m = n%k; System.out.println(m); } } |
Если Вы запустите этот код на своём компьютере, то в консоль будет выведено такое число:
-1
Вот и всё - теперь Вы уже знаете, что такое деление по модулю в Java.
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля.
По всем вопросам звоните:
+38 050 205 77 99
+38 098 205 77 99
Или читайте информацию по нашим курсам Java c нуля у нас на сайте.