• Home
  • |
  • Blog
  • |
  • Java Tutorial #6 – Der Java Modulo Operator

Java Tutorial #6 – Der Java Modulo Operator

Zuletzt aktualisiert: August 8, 2023

Heute werde ich dir zeigen, was der Java Modulo Operator ist. Wir werden uns diesen zuerst in einer kleinen Übersicht ansehen, damit ich dir schon mal grob erklären kann, wie dieser funktioniert und was man damit bewirken kann. Im Anschluss werden wir in die Entwicklungsumgebung wechseln und du wirst sehen, wie man den Modulo Operator in der Praxis einsetzen kann.

Sie sehen gerade einen Platzhalterinhalt von Youtube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Inhaltsverzeichnis

1. Der Java Modulo Operator in der Theorie

Wie du in der untenstehenden Übersicht erkennen kannst, wird der Java Modulo Operator durch ein Prozentzeichen dargestellt:

Eine Übersicht des Java Modulo Operators

Den Modulo Operator bezeichnet man auch als Restwertoperator, was seine Funktion deutlich besser beschreibt.

Man verwendet den Modulo Operator anstatt des Divisionszeichens, das durch einen Slash dargestellt wird. Es führt dabei wieder eine Division durch, gibt diesmal allerdings nicht das Ergebnis aus, sondern den Rest, der übrig bleibt.

Sehen wir uns das Ganze mal anhand des Beispiels rechts in der Abbildung an. Bei 32 % 3 müssen wir uns zunächst überlegen, wie oft die drei in die 32 passt. Dabei kommen wir auf insgesamt 10-mal. Anschließend rechnen wir dreimal zehn, wodurch wir den Wert 30 erhalten. Jetzt ziehen wir die 30 von der 32 ab und erhalten dadurch den Wert zwei. Zwei ist also der Rest, der nicht mehr ausreicht, um eine ganze Teilung durchzuführen.

2. Den Modulo Operator in der Praxis anwenden

Beispiel mit dem /-Operator

Da das vielleicht erst mal etwas verwirrend klingt, sehen wir uns das Beispiel jetzt noch in der Praxis an. Ich deklariere also eine Variable vom Typ Integer, nenne diese „number1“ und weise ihr 32 / 3 zu.

int number1 = 32 / 3;

Den Wert, der dabei herauskommt, geben wir in der Konsole aus. Wie wir beim Ausführen des Programms sehen, ist das der Wert 10:

Es wird 10 ausgegeben

Tatsächlich kommt dabei 10 mit einer Zahl nach dem Komma heraus, da wir den Wert aber in einen Ganzzahldatentyp speichern, wird diese einfach abgeschnitten.

Beispiel mit dem %-Operator

Jetzt setzen wir an der Stelle des Slash-Zeichens den Java Modulo Operator ein. Wir sind nun also nicht mehr an der Teilung interessiert, sondern daran, welcher Rest übrigbleibt.

int number1 = 32 % 3;

Wenn wir diesen Code ausführen, erhalten wir wieder den Wert zwei in der Konsole:

Beim Ausführen des Java Modulo Operators erhalten wir die Zahl 2

Schreiben wir nun beispielsweise 31 anstelle der 32, kommt die Zahl eins heraus:

int number1 = 31 % 3;

Wir erhalten die Zahl 1 als Restwert

Beim Wert 33 ist das Ergebnis null:

int number1 = 33 % 3;

Für den Wert 33 erhalten wir beim Anwenden des Java Modulo den Wert 0

Woran liegt das? Wenn wir 33 durch drei teilen, wissen wir bereits, dass das genau aufgeht. Schließlich passt die Drei genau 11-mal in die 33. Deshalb bleibt auch kein Rest übrig.

Bei der 32 hingegen haben wir einen Rest von zwei, weil die Drei nur 10-mal in die 30 passt und damit zwei übrigbleibt. Aus diesem Grund gibt uns das Programm die Zahl zwei aus.

Um den Modulo Operator noch weiter zu testen, könnten wir beispielhaft noch die Sieben eingeben und das Programm ausführen:

int number1 = 7 % 3;

7 % 3 ergibt den Restwert 1

Jetzt kommt wieder die Eins heraus. Warum? Die Drei passt genau zweimal in die Sieben. Damit sind wir beim Wert 6 und übrig bleibt ein Rest von 1. Da die Drei in die Eins nicht mehr hineinpasst, bleibt uns die Eins als Restwert.

Das ist im Prinzip auch schon alles, was ich dir in diesem Beitrag zum Java Modulo Operator erklären wollte.

Info:
Der Modulo Operator funktioniert logischerweise nur bei Ganzzahlen, da bei Dezimalzahlen ein Restwert erlaubt ist.

Abschließend empfehle ich dir auch hier wieder, etwas mit diesem Operator zu üben, damit du schnell ein Gefühl dafür entwickelst.