Java Wenn ... Sonst
Java-Bedingungen und If-Anweisungen
Java unterstützt die üblichen logischen Bedingungen aus der Mathematik:
- Kleiner als: a < b
- Kleiner oder gleich: a <= b
- Größer als: a > b
- Größer oder gleich: a >= b
- Gleich a == b
- Ungleich: a != b
Sie können diese Bedingungen verwenden, um unterschiedliche Aktionen für unterschiedliche Entscheidungen durchzuführen.
Java hat die folgenden bedingten Anweisungen:
- Wird verwendet
if
, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn eine angegebene Bedingung wahr ist - Wird verwendet
else
, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn dieselbe Bedingung falsch ist - Wird verwendet
else if
, um eine neue zu testende Bedingung anzugeben, wenn die erste Bedingung falsch ist - Wird verwendet
switch
, um viele alternative Codeblöcke anzugeben, die ausgeführt werden sollen
Die if-Anweisung
Verwenden Sie die if
Anweisung, um einen Java-Codeblock anzugeben, der ausgeführt werden soll, wenn eine Bedingung ist true
.
Syntax
if (condition) {
// block of code to be executed if the condition is true
}
Beachten Sie, dass if
es sich um Kleinbuchstaben handelt. Großbuchstaben (If oder IF) erzeugen einen Fehler.
Im folgenden Beispiel testen wir zwei Werte, um herauszufinden, ob 20 größer als 18 ist. Wenn die Bedingung lautet true
, geben Sie Text aus:
Beispiel
if (20 > 18) {
System.out.println("20 is greater than 18");
}
Wir können auch Variablen testen:
Beispiel
int x = 20;
int y = 18;
if (x > y) {
System.out.println("x is greater than y");
}
Beispiel erklärt
Im obigen Beispiel verwenden wir zwei Variablen, x und y , um zu testen, ob x größer als y ist (unter Verwendung des >
Operators). Da x 20 und y 18 ist und wir wissen, dass 20 größer als 18 ist, geben wir auf dem Bildschirm aus, dass „x größer als y“ ist.
Die else-Anweisung
Verwenden Sie die else
Anweisung, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn die Bedingung lautet false
.
Syntax
if (condition) {
// block of code to be executed if the condition is true
} else {
// block of code to be executed if the condition is false
}
Beispiel
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."
Beispiel erklärt
Im obigen Beispiel ist die Zeit (20) größer als 18, also ist die Bedingung false
. Aus diesem Grund gehen wir zur else
Bedingung über und drucken auf dem Bildschirm "Guten Abend". Wenn die Zeit weniger als 18 war, druckte das Programm "Guten Tag".
Die else if-Anweisung
Verwenden Sie die else if
Anweisung, um eine neue Bedingung anzugeben, wenn die erste Bedingung false
.
Syntax
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and condition2 is true
} else {
// block of code to be executed if the condition1 is false and condition2 is false
}
Beispiel
int time = 22;
if (time < 10) {
System.out.println("Good morning.");
} else if (time < 20) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."
Beispiel erklärt
Im obigen Beispiel ist die Zeit (22) größer als 10, also ist die erste Bedingungfalse
. Die nächste Bedingung in der
else if
Anweisung ist ebenfalls false
, also fahren wir mit der else
Bedingung fort, da Bedingung1 und Bedingung2 beides sind false
- und geben auf dem Bildschirm "Guten Abend" aus.
Wenn es jedoch 14 Uhr wäre, würde unser Programm „Guten Tag“ ausgeben.
Kurzform If...Else (ternärer Operator)
Es gibt auch eine Abkürzung if else, die als ternärer Operator bekannt ist, weil sie aus drei Operanden besteht. Es kann verwendet werden, um mehrere Codezeilen durch eine einzige Zeile zu ersetzen. Es wird oft verwendet, um einfache if else-Anweisungen zu ersetzen:
Syntax
variable = (condition) ? expressionTrue : expressionFalse;
Anstatt zu schreiben:
Beispiel
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
Du kannst einfach schreiben:
Beispiel
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);