Eine if else-Anweisung in Java ist eine bedingte Anweisung. Java verwendet Bedingungen genau wie die Mathematik und erlaubt Vergleiche, die boolesche Ergebnisse liefern. So kannst du Eingaben testen, um sie mit einer von dir festgelegten Menge von Werten zu vergleichen. Da es sich um ein boolesches Ergebnis handelt, gibt es nur zwei mögliche Ergebnisse: 0 oder 1, d. h. false oder true.
Eine if else-Java-Anweisung ist auf zwei grundlegende Arten strukturiert. Die erste ist eine einfache if then-Anweisung in Java. Die zweite ist if-then-else. Die Verwendung der else-Anweisung als sekundärer Ausführungspfad gibt dieser bedingten Steuerung eine große Flexibilität.
if-Anweisung Java-Syntax
Die if-Anweisung in Java verwendet die folgende Syntax:
If (condition) {
//do this code
}
Wenn die Bedingung den booleschen Wert true liefert, wird der Code innerhalb der Klammern ausgeführt. Wenn der Wert als false zurückgegeben wird, wird der Code in Klammern übersprungen.
Betrachte dieses Codefragment.
int a = 20;
if (a%2 == 0) {
System.out.println(a + " is even.");
}
…
Die Ausgabe im obigen Code ist „20 ist gerade“. Denn die Bedingung, die getestet wurde, war, wie hoch der Rest ist, wenn die ganze Zahl a durch 2 geteilt wird.
Die Verwendung einer Java if-Anweisung ist eine gute Möglichkeit, um zu überprüfen, was beim Debuggen von Code vor sich geht. Wenn dein Code nicht richtig reagiert, kannst du eine Bedingung einfügen, die deinen Code einfach anweist, eine Bestätigung zu drucken, wenn er wie erwartet funktioniert. Auf diese Weise kannst du herausfinden, wo sich der Code falsch verhält.
Java-Syntax für if-else-Anweisungen
Die if else-Java-Syntax sieht so aus:
if (condition) {
//do this code
} else {
//do this code
}
Wie du siehst, kannst du durch Hinzufügen der else-Anweisung einen zweiten Satz von Anweisungen erstellen, die ausgelöst werden, wenn das boolesche Ergebnis false lautet. Fügen wir unserem ursprünglichen Codefragment eine else-Anweisung hinzu und verschachteln sie in eine einfache inkrementierende for-Schleife.
…
for (int x = 1; x <=4; x++) {
if (x%2 == 0) {
System.out.println(x + " is even.");
} else {
System.out.println(x + " is odd.");
}
}
Du siehst, dass x bei 1 beginnt und in die Schleife eintritt und durch dieselbe Bedingung getestet wird. Da der Modul, der zurückgegeben wird, wenn 1 durch 2 geteilt wird, nicht Null ist, wird der boolesche Wert false zurückgegeben. Das überspringt die anfängliche if-Anweisung und löst die else-Anweisung aus. Die Ausgabe für diese Schleife würde also lauten:
1 is odd.
2 is even.
3 is odd.
4 is even.
Das macht zwar Spaß, aber du fragst dich vielleicht, wozu die if else-Anweisungen in Java sinnvoll genutzt werden können. In der echten Welt haben sie große Vorteile, weil ausschließlich auf den booleschen Werten true und false basieren. Ein Videospiel wie Fortnite verwendet eine if else-Anweisung, um zu bestimmen, ob ein Spieler einen anderen Spieler trifft, wenn der Schuss in einer bestimmten sogenannten Hitbox (Trefferbereich) landet. Ein Passwortüberprüfer vergleicht deine Eingabe mit einem gespeicherten Passwort und erlaubt dir den Zutritt, wenn sie übereinstimmen. Andernfalls weist er dich ab und teilt dir mit, dass die Passwörter nicht übereinstimmen.
Selbst wenn man bedenkt, wie vielseitig eine if else-Anweisung in Java ist, kann man sie sogar noch vielseitiger machen, indem man weitere Bedingungen hinzufügt. Das nennt man eine verschachtelte if else-Anweisung.
Verschachtelte If Else- und Else If-Anweisungen in Java
Wenn du anfängst, Java if else-Anweisungen zu verschachteln oder zu wiederholen, erstellst du eine Kette von Bedingungen, die jeweils auf einen booleschen Wert geprüft werden. Die Syntax sieht wie folgt aus:
if (condition) {
//do this code
} else if (condition) {
//do this code
} else if (condition) {
//do this code
} else {
//do this code
}
Du kannst die Java else if-Anweisung so lange wiederholen, wie du willst, und das System wird die Eingabe weiterhin prüfen. Es ist wichtig zu beachten, dass, sobald eine Bedingung das boolesche Ergebnis true liefert, der eingeklammerte Abschnitt des Codes ausgeführt wird und das Programm den gesamten if else-Codeabschnitt verlässt.
Verschachtelte if-Java-Anweisungen
Du kannst auch if-Anweisungen verschachteln, die keine else-Bedingung haben. Der Code lautet also einfach: Wenn dies wahr ist UND dies wahr ist, tu dies. Schau dir die Syntax hier an:
if (condition) {
if (condition) {
if (condition) {
//do this code
}
}
}
Du siehst, dass der Code drei verschiedene Bedingungen überprüft, bevor der letzte Code in Klammern ausgeführt wird. Damit können wir prüfen, ob eine Zahl eine Primzahl ist oder nicht. Schau dir den folgenden Pseudocode an, der einen Integer x mit verschachtelten if-Anweisungen überprüft.
if (x > 1) {
if (x is odd) {
if (x modulo (every integer from 2 to x-1) != 0) {
// integer is prime
}
}
}
Dieser Code führt drei Prüfungen durch:- Ist der Integer größer als 1, weil 1 keine Primzahl ist?
- Ist der Integer ungerade, weil nur ungerade Zahlen über 2 Primzahlen sind?
- Kann jede andere ganze Zahl von 2 bis eins weniger als x gerade durch sie geteilt werden?
GO TO FULL VERSION