Modulo Operator
Teil des Abschnitts Grundlagen der Java-Journey von Coddy — Lektion 16 von 73.
Der Modulo-Operator % gibt den Rest einer Division. In Java wird er mit einer einfachen Syntax verwendet:
result = dividend % divisor;- Dividende: Die Zahl, die geteilt wird.
- Divisor: Die Zahl, die die Dividende teilt.
- Rest: Der Rest der Division.
Zum Beispiel:
result = 10 % 3;Hier wird 10 durch 3 geteilt. 3 geht dreimal in 10, mit einem Rest von 1. Deshalb wird result 1 sein.
Was passiert, wenn die Dividende kleiner als der Divisor ist? In diesem Fall geht der Divisor 0 Mal hinein, sodass der Rest einfach die Dividende selbst ist. Zum Beispiel ist 2 % 3 gleich 2, weil 3 null Mal in 2 geht und 2 übrig bleibt.
Normalerweise wird der Modulo-Operator 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.
Beim Einsatz des Modulo-Operators mit Gleitkommazahlen (doubles) funktioniert es ähnlich wie bei Ganzzahlen, behält aber die Dezimalpräzision bei. Zum Beispiel:
double result = 5.2 % 2.0;
// result is 1.2So funktioniert es: 2,0 geht zweimal in 5,2 (4,0), und der Rest beträgt 1,2 (5,2 - 4,0 = 1,2).
Ein weiteres Beispiel:
double result = 7.8 % 3.5;
// result is 0.8Aufgabe
AnfängerSchreibe einen Code, der drei Variablen initialisiert, a (int), b (double) und c (int) mit den Werten 9, 2.6 und 11 (jeweils).
Initialisiere danach die folgenden Variablen:
d (int), die das Ergebnis vonamodulo2enthälte (int), die das Ergebnis vonamodulo3enthältf (double), die das Ergebnis vonbmodulo1.5enthältg (double), die das Ergebnis vonbmodulo3.9enthälth (int), die das Ergebnis voncmodulo10enthält
Schau dir das Ergebnis an und sieh, wie unterschiedliche Dividenden und Divisoren das Ergebnis beeinflussen.
Spickzettel
Der Modulo-Operator % gibt den Rest einer Division:
result = dividend % divisor;Beispiel mit Ganzzahlen:
result = 10 % 3; // result ist 1Häufiger Anwendungsfall – Überprüfen, ob eine Zahl gerade oder ungerade ist:
- Gerade Zahlen:
number % 2 == 0 - Ungerade Zahlen:
number % 2 == 1
Modulo mit Gleitkommazahlen:
double result = 5.2 % 2.0; // result ist 1.2
double result = 7.8 % 3.5; // result ist 0.8Probier es selbst
public class Main {
public static void main(String[] args) {
// Schreibe deinen Code unten
// Ändere die Zeile unten 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