Nested If - Else
Teil des Abschnitts Grundlagen der Java-Journey von Coddy — Lektion 32 von 73.
Wir können if-else if-else-Anweisungen ineinander verschachteln. Dies ermöglicht uns die Erstellung hierarchischer Entscheidungsstrukturen.
Beachten Sie, dass tief verschachtelte
if-Anweisungen den Code schwieriger lesbar und wartbar machen.Beispiel:
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
Es kann unendlich verschachtelt werden:
if (condition1) {
if (condition2) {
if (condition3) {
// runs only when condition1, condition2 and condition3 are all true
...
}
}
}Aufgabe
AnfängerErstellen Sie ein Programm, das überprüft, ob jemand eine Achterbahn fahren darf. Die Anforderungen sind:
- Mindestens 12 Jahre alt sein müssen
- Größer als 150 cm sein müssen
- Wenn sie beide Anforderungen erfüllen, aber unter 15 sind, benötigen sie Aufsicht durch einen Erwachsenen
Genau diese Nachrichten für jeden Fall ausgeben:
- Wenn zu jung:
Sorry, you're too young - Wenn nicht groß genug:
Sorry, you're not tall enough - Wenn unter 15 und kein Erwachsener:
Sorry, you need an adult with you - Wenn unter 15 mit Erwachsenem:
You can ride with adult supervision! - Wenn 15 oder älter und groß genug:
You can ride by yourself!
Spickzettel
Sie können if-else if-else-Anweisungen ineinander verschachteln, um hierarchische Entscheidungsstrukturen zu erstellen:
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
Verschachtelung kann unendlich erfolgen:
if (condition1) {
if (condition2) {
if (condition3) {
// if condition1, condition2 and condition3 are true
...
}
}
}Hinweis: Tief verschachtelte if-Anweisungen können den Code schwerer lesbar und wartbar machen.
Probier es selbst
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = scanner.nextInt(); // Diese Zeile nicht ändern
int height = scanner.nextInt(); // Diese Zeile nicht ändern
boolean hasAdult = scanner.nextBoolean(); // Diese Zeile nicht ändern
// Schreibe deinen Code unten
scanner.close();
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else