Menu
Coddy logo textTech

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.5

So 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.5
challenge icon

Aufgabe

Anfänger

Schreibe 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 von a modulo 2 enthält
  • e (int), das das Ergebnis von a modulo 3 enthält
  • f (double), das das Ergebnis von b modulo 1.5 enthält
  • g (double), das das Ergebnis von b modulo 3.9 enthält
  • h (int), das das Ergebnis von c modulo 10 enthä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);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Java-Compiler