Modulo-Operator
Teil des Abschnitts Grundlagen der Java-Journey von Coddy. Lektion 16 von 73.
Der Modulo-Operator % gibt den Rest einer Division zurück. In Java wird er mit einer einfachen Syntax verwendet:
result = dividend % divisor;- Dividend: Die Zahl, die geteilt wird.
- Divisor: Die Zahl, durch die der Dividend geteilt wird.
- Ergebnis: Der Rest der Division.
Zum Beispiel:
result = 10 % 3;Hier wird 10 durch 3 geteilt. 3 passt dreimal in 10, mit einem Rest von 1. Daher ist result gleich 1.
Was ist, wenn der Dividend kleiner als der Divisor ist? In diesem Fall passt der Divisor 0-mal hinein, daher ist der Rest einfach der Dividend selbst. Zum Beispiel ist 2 % 3 gleich 2, weil 3 nullmal in 2 passt und 2 übrig bleiben.
Der Modulo-Operator wird normalerweise verwendet, um zu prüfen, ob eine Zahl gerade oder ungerade ist:
- Wenn eine Zahl gerade ist, bleibt beim Teilen durch 2 ein Rest von 0.
- Wenn eine Zahl ungerade ist, bleibt beim Teilen durch 2 ein Rest von 1.
Bei der Verwendung des Modulo-Operators mit Gleitkommazahlen (Doubles) funktioniert er ähnlich wie bei Ganzzahlen, behält jedoch die Dezimalgenauigkeit bei. Zum Beispiel:
double result = 5.5 % 2.0;
// result ist 1.5So funktioniert es: 2.0 passt zweimal (4.0) in 5.5, und der Rest ist 1.5 (5.5 - 4.0 = 1.5).
Hinweis: double-Werte werden als Näherungen gespeichert, daher werden manche Reste mit einem winzigen Fehler ausgegeben. Zum Beispiel gibt 5.2 % 2.0 1.2000000000000002 statt 1.2 aus. Das ist normales Gleitkomma-Verhalten und kein Fehler in deinem Code.
Ein weiteres Beispiel:
double result = 7.5 % 3.5;
// result ist 0.5Aufgabe
AnfängerSchreibe einen Code, der drei Variablen, a (int), b (double) und c (int), mit den Werten 9, 2.6 bzw. 11 initialisiert.
Initialisiere danach die folgenden Variablen:
d (int), das das Ergebnis vonamodulo2enthälte (int), das das Ergebnis vonamodulo3enthältf (double), das das Ergebnis vonbmodulo1.5enthältg (double), das das Ergebnis vonbmodulo3.9enthälth (int), das das Ergebnis voncmodulo10enthält
Überprüfe das Ergebnis und sieh dir an, wie sich unterschiedliche Dividenden und Divisoren auf das Ergebnis auswirken.
Probier es selbst
public class Main {
public static void main(String[] args) {
// Schreibe deinen Code unten
// Ändere die Zeile darunter nicht
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);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische KurzformenVergleichsoperatorenString-Vergleich7Grundlegende Ein-/Ausgabe
System.out-MethodenAusgabe formatierenScanner-KlasseWiederholung – Bis 120Wiederholung – Wahr oder falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 43Variablen Teil 2
KonstantenNamenskonventionenRückblick – Variablen initialisierenTypumwandlung Teil 1Typumwandlung Teil 26Entscheidungen treffen
If-AnweisungIf - ElseSwitch-AnweisungTernärer OperatorRückblick - If ElseVerschachteltes If - ElseÜbe selbstständig: Online-Java-Compiler