Operator modulo
Część sekcji Podstawy ścieżki Java w Coddy. Lekcja 16 z 73.
Operator modulo % zwraca resztę z dzielenia. W języku Java używa się go w prostej składni:
result = dividend % divisor;- dividend: Liczba, która jest dzielona.
- divisor: Liczba, przez którą dzielona jest dzielna.
- result: Reszta z dzielenia.
Na przykład:
result = 10 % 3;Tutaj 10 jest dzielone przez 3. 3 mieści się w 10 trzy razy, a reszta wynosi 1. Zatem result będzie równe 1.
A co, jeśli dzielna jest mniejsza niż dzielnik? W takim przypadku dzielnik mieści się 0 razy, więc reszta jest po prostu równa samej dzielnej. Na przykład 2 % 3 jest równe 2, ponieważ 3 mieści się w 2 zero razy i zostaje 2.
Zwykle modulo służy do sprawdzania, czy liczba jest parzysta, czy nieparzysta:
- Jeśli liczba jest parzysta, dzielenie jej przez 2 da resztę 0.
- Jeśli liczba jest nieparzysta, dzielenie jej przez 2 da resztę 1.
Przy użyciu modulo z liczbami zmiennoprzecinkowymi (typu double) działa ono podobnie jak w przypadku liczb całkowitych, ale zachowuje precyzję części dziesiętnej. Na przykład:
double result = 5.5 % 2.0;
// result wynosi 1.5Oto jak to działa: 2.0 mieści się w 5.5 dwa razy (4.0), a reszta wynosi 1.5 (5.5 - 4.0 = 1.5).
Uwaga: wartości double są przechowywane jako przybliżenia, więc niektóre reszty są wyświetlane z niewielkim błędem. Na przykład 5.2 % 2.0 wyświetla 1.2000000000000002, a nie 1.2. To normalne zachowanie arytmetyki zmiennoprzecinkowej, a nie błąd w twoim kodzie.
Kolejny przykład:
double result = 7.5 % 3.5;
// result wynosi 0.5Wyzwanie
PoczątkującyNapisz kod, który zainicjuje trzy zmienne: a (int), b (double) i c (int) wartościami 9, 2.6 i 11 (odpowiednio).
Następnie zainicjuj następujące zmienne:
d (int), która będzie przechowywać wynik operacji moduloaprzez2e (int), która będzie przechowywać wynik operacji moduloaprzez3f (double), która będzie przechowywać wynik operacji modulobprzez1.5g (double), która będzie przechowywać wynik operacji modulobprzez3.9h (int), która będzie przechowywać wynik operacji modulocprzez10
Sprawdź wynik i zobacz, jak różne dzielne i dzielniki wpływają na wynik.
Spróbuj swoich sił
public class Main {
public static void main(String[] args) {
// Wpisz swój kod poniżej
// Nie zmieniaj poniższej linii
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);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Metody System.outFormatowanie wyjściaKlasa ScannerPowtórka – do 120Powtórka – prawda czy fałsz10Metody (funkcje)
Deklarowanie metodParametry metodTypy zwracanePrzeciążanie metodPowtórzenie – funkcja SigmaPowtórzenie – funkcja walidującaMetody void13Operacje na ciągach znaków
Metody ciągów znaków — część 1Metody ciągów znaków — część 2Formatowanie ciągów znakówPorównywanie ciągów znaków5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 43Zmienne — część 2
StałeKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychKonwersja typów — część 1Konwersja typów — część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator trójargumentowyPowtórka: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator Java online