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 die 10, mit einem Rest von 1. Somit wird result 1 sein.
Was passiert, wenn der Dividend kleiner als der Divisor ist? In diesem Fall passt der Divisor 0-mal hinein, sodass der Rest einfach der Dividend selbst ist. Zum Beispiel ergibt 2 % 3 gleich 2, da 3 nullmal in die 2 passt und 2 übrig bleiben.
Normalerweise wird Modulo verwendet, um zu prüfen, ob eine Zahl gerade oder ungerade ist:
- Wenn eine Zahl gerade ist, lässt die Division durch 2 einen Rest von 0.
- Wenn eine Zahl ungerade ist, lässt die Division durch 2 einen Rest von 1.
Bei der Verwendung von Modulo mit Gleitkommazahlen (Doubles) funktioniert es ähnlich wie bei Ganzzahlen, behält aber die Dezimalpräzision bei. Zum Beispiel:
double result = 5.5 % 2.0;
// Ergebnis ist 1.5So funktioniert es: 2.0 passt zweimal in 5.5 (4.0), und der Rest ist 1.5 (5.5 - 4.0 = 1.5).
Hinweis: double-Werte werden als Annäherungen gespeichert, daher werden einige Reste mit einem winzigen Fehler ausgegeben. Zum Beispiel gibt 5.2 % 2.0 eher 1.2000000000000002 als 1.2 aus. Das ist normales Gleitkomma-Verhalten, kein Fehler in Ihrem Code.
Ein weiteres Beispiel:
double result = 7.5 % 3.5;
// result ist 0.5Aufgabe
AnfängerSchreiben Sie einen Code, der drei Variablen, a (int), b (double) und c (int) mit den Werten 9, 2.6 und 11 (in dieser Reihenfolge) initialisiert.
Initialisieren Sie danach die folgenden Variablen:
d (int), die das Ergebnis vonamodulo2speicherte (int), die das Ergebnis vonamodulo3speichertf (double), die das Ergebnis vonbmodulo1.5speichertg (double), die das Ergebnis vonbmodulo3.9speicherth (int), die das Ergebnis voncmodulo10speichert
Überprüfen Sie das Ergebnis und sehen Sie, wie sich verschiedene 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 folgende Zeile 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
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