veröffentlicht am: 02.06.2022 zuletzt aktualisiert am: 06.02.2023
In der Mathematik gibt es vier grundlegende arithmetische Operatoren: Addition (+), Subtraktion (-), Division (/) und Multiplikation (*). Neben diesen vier Operatoren gibt es in Java einen zusätzlichen Operator, der als „Modulo“ bezeichnet wird.
Der Java „Modulo“ Operator (%) dient der Ermittlung des Rests der Division zweier Zahlen. Er benötigt zwei Operanden: einen „Dividenden“ und einen „Divisor„. Der Java „Modulo“ Operator kann in verschiedensten Szenarien verwendet werden, wie z. B. um zu überprüfen, ob eine Zahl gerade oder ungerade ist oder ob die angegebene Zahl eine Primzahl ist oder nicht.
Dieser Beitrag wird den Java Modulo Operator anhand geeigneter Beispiele erläutern.
Der Java „Modulo“ Operator wird verwendet, um den Rest nach der Division zweier Zahlen zu ermitteln. Er wird auch „Restwert“ Operator genannt und mit dem Prozentzeichen „%“ bezeichnet.
Wenn zum Beispiel die Zahl „21“ der „Dividend“ und „2“ der „Divisor“ ist, dann wird ihr Rest mit „21%2“ berechnet, was „1“ ergibt.
A%B
Hier ist „A“ der „Dividend“ und „B“ der „Divisor“ und der Java Modulo Operator „%“ ermittelt den Rest, indem er „A“ durch „B“ dividiert.
Bevor wir zur Implementierung des Modulo Operators springen, werden wir erläutern, warum wir ihn beim Programmieren in Java brauchen.
Bei einer einfachen Divisionsoperation, bei der sowohl „Teiler“ als auch „Dividend“ Integer sind, kann der Rest leicht berechnet werden, ohne den Java „Modulo“ Operator zu verwenden. Im folgenden Beispiel erstellen wir zwei Integer, „Dividend“ und „Divisor„, und deklarieren sie mit den Werten „21“ bzw. „2„:
int dividend = 21; int divisor = 2;
Als nächstes berechnen wir den „Rest„, indem wir die folgende Formel anwenden:
int rest = dividend - (divisor * (dividend / divisor)); System.out.print("Der Rest nach der Divison beträgt: " + rest);
Die Ausführung des oben gezeigten Programms gibt „1“ als Rest des angegebenen „Dividenden“ und „Divisors“ aus:
Wenn der „Divisor“ oder „Dividend“ jedoch ein Dezimalzeichen hat, können wir den Rest nicht mit dem Divisionsoperator ermitteln.
Das folgende Programm berechnet zum Beispiel den Rest, wenn der „Dividend“ vom Typ „double“ und der „Divisor“ ein Integer ist:
double dividend = 21; int divisor = 2; double rest = dividend - (divisor * (dividend/divisor)); System.out.print("Der Rest nach der Divison beträgt: " + rest);
Bei Dezimalstellen verliert der Divisionsoperator den Rest und zeigt den Wert „0.0“ an:
In dieser Situation kommt der Java „Modulo“ Operator ins Spiel, der dabei hilft, den korrekten Restwert zu ermitteln.
In demselben Programm werden wir nun den Java „Modulo“ Operator verwenden, um den Rest zu berechnen:
double rest = dividend % divisor;
Die gegebene Ausgabe zeigt, dass wir den Rest für die eingegebenen Werte erfolgreich berechnet haben:
Hier ist eine Liste der häufigsten Anwendungsfälle, in denen der Java “Modulo“ Operator verwendet werden kann:
Wir werden nun die Verwendung des Java „Modulo“ Operators in den oben genannten Fällen erläutern.
Wenn wir eine Zahl durch „2“ teilen und der Rest gleich „null“ ist, handelt es sich um eine gerade Zahl. Wir haben diese Logik also in die „if“ Bedingung des folgenden Programms eingebettet und den Java „Modulo“ Operator zur Berechnung des Rests verwendet:
int meineZahl = 25; if (meineZahl % 2 == 0) { System.out.println(meineZahl + " ist eine gerade Zahl!"); } else { System.out.println(meineZahl + " ist eine ungerade Zahl!"); }
Wie man sehen kann, ist die Ausgabe, dass „25“ eine ungerade Zahl ist, was wahr ist:
Wenn eine Zahl nur zwei Primfaktoren, „1“ und die „Zahl“ selbst hat, dann wird sie als „Primzahl“ bezeichnet. In einem Java Programm können wir den „Modulo“ Operator verwenden, um festzustellen, ob eine Zahl eine Primzahl ist oder nicht. Dazu definieren wir zunächst eine Funktion „pruefeObPrimzahl()„, die eine „Zahl“ als Argument entgegennimmt und einen „booleschen“ Wert (mehr über den Datentyp Java Boolean erfahren) zurückgibt, der angibt, ob das angegebene Argument eine Primzahl ist oder nicht. Hinweis: In der „for-Schleife“ der „pruefeObPrimzahl()“ Funktion haben wir „i <= Math.sqrt(meineZahl)“ als Testbedingung hinzugefügt, da eine Primzahl keine Faktoren haben kann, die größer als ihre „Quadratwurzel“ sind.
public static boolean pruefeObPrimzahl(int meineZahl) { if (meineZahl <= 1) { return false; } for (int i = 2; i <= Math.sqrt(meineZahl); i++) { if (meineZahl % i == 0) { return false; } } return true; }
Nachdem wir die „pruefeObPrimzahl()“ Funktion definiert haben, werden wir sie ausführen und die Zahl „57“ als Argument übergeben:
public static void main(String[] args) { System.out.println("Ist die 57 eine Primzahl? " + pruefeObPrimzahl(57)); }
Da „57“ keine Primzahl ist, gibt „pruefeObPrimzahl()“ den Wert „false“ zurück:
Das waren alle wichtigen Informationen über den Java Modulo Operator. Du kannst bei Bedarf weiter recherchieren.
Der Java „Modulo“ Operator wird verwendet, um den Rest zweier Zahlen nach der Division zu ermitteln. Er wird auch „Restwert“ Operator genannt und mit dem Prozentzeichen „%“ bezeichnet. Wenn „A“ der „Dividend“ und „B“ sein „Divisor“ ist, dann findet der Java Modulo Operator „%“ den Rest, indem er „A“ durch „B“ dividiert. In diesem Beitrag wurde der Java Modulo Operator anhand geeigneter Beispiele erläutert.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig