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

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

Aufgabe

Anfänger

Schreiben 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 von a modulo 2 speichert
  • e (int), die das Ergebnis von a modulo 3 speichert
  • f (double), die das Ergebnis von b modulo 1.5 speichert
  • g (double), die das Ergebnis von b modulo 3.9 speichert
  • h (int), die das Ergebnis von c modulo 10 speichert

Ü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);
    }
}
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