1. Reihenfolge der if
Aussagen
Manchmal muss ein Programm abhängig vom Wert einer Variablen oder dem Wert eines Ausdrucks viele verschiedene Aktionen ausführen.
Nehmen wir an, unsere Aufgabe sieht etwa so aus:
- Wenn die Temperatur über
20
Grad liegt, ziehen Sie ein Hemd an - Wenn die Temperatur mehr als
10
Grad und weniger als (oder gleich) beträgt20
, ziehen Sie einen Pullover an - Wenn die Temperatur mehr als
0
Grad und weniger als (oder gleich) beträgt10
, ziehen Sie einen Regenmantel an - Wenn die Temperatur unter
0
Grad liegt, ziehen Sie einen Mantel an.
So kann dies im Code dargestellt werden:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else { // Here the temperature is less than (or equal to) 20
if (temperature > 10) {
System.out.println("put on a sweater");
} else { // Here the temperature is less than (or equal to) 10
if (temperature > 0) {
System.out.println("put on a raincoat");
} else // Here the temperature is less than 0
System.out.println("put on a coat");
}
}
If-else
Anweisungen können ineinander verschachtelt werden . Dadurch ist es möglich, recht komplexe Logik in einem Programm zu implementieren.
Allerdings schreiben Programmierer dieses Konstrukt normalerweise etwas anders:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else if (temperature > 10) { // Here the temperature is less than (or equal to) 20
System.out.println("put on a sweater");
} else if (temperature > 0) { // Here the temperature is less than (or equal to) 10
System.out.println("put on a raincoat");
} else { // Here the temperature is less than 0
System.out.println("put on a coat");
}
Die beiden angegebenen Beispiele sind gleichwertig, das zweite ist jedoch einfacher zu verstehen.
2. Nuancen des else
Blocks
Wenn in einem Konstrukt keine geschweiften Klammern verwendet werden if-else
, bezieht sich das else
auf das nächste vorherige if
.
Beispiel:
Unser Code | Wie wird es funktionieren |
---|---|
|
|
Wenn Sie sich den Code auf der linken Seite ansehen, scheint die Bildschirmausgabe „Sie müssen nicht arbeiten“ zu lauten. Aber das ist nicht der Fall. In Wirklichkeit else
sind die Blockade und die Aussage „Du musst nicht arbeiten“ mit der zweiten (nächsteren) if
Aussage verbunden.
Im Code rechts sind die zugehörigen if
und else
rot hervorgehoben. Darüber hinaus sind die geschweiften Klammern eindeutig platziert und zeigen deutlich, welche Aktionen ausgeführt werden. Die Zeichenfolge You don't have to work wird nie angezeigt, wenn age
sie größer als ist 60
.
3. Beispiel für die Verwendung einer if-else
Anweisung
Da wir die if-else
Aussage so gut untersucht haben, geben wir ein Beispiel:
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner console = new Scanner(System.in); // Create a Scanner object
int a = console.nextInt(); // Read the first number from the keyboard
int b = console.nextInt(); // Read the second number from the keyboard
if (a < b) // If a is less than b
System.out.println(a); // we display a
else // otherwise
System.out.println(b); // we display b
}
}
GO TO FULL VERSION