Else-if-Ketten in Java
Swipe um das Menü anzuzeigen
Bisher funktionieren if-else-Anweisungen gut, wenn nur zwei Ergebnisse benötigt werden. In realen Systemen sind Entscheidungen jedoch meist detaillierter.
Ein Café könnte beispielsweise verschiedene Belohnungsstufen anbieten, abhängig davon, wie viele Artikel jemand bestellt:
- Kleine Bestellungen erhalten keinen Zusatz;
- Mittlere Bestellungen erhalten einen kleinen Bonus;
- Große Bestellungen erhalten eine größere Belohnung;
- Sehr große Bestellungen könnten ein spezielles Angebot freischalten.
Hier kommen else if-Ketten zum Einsatz — sie ermöglichen es, mehrere Bedingungen nacheinander zu prüfen. Das Programm arbeitet von oben nach unten und sobald es eine Bedingung findet, die true ist, wird dieser Block ausgeführt und alles Weitere ignoriert.
Struktur
if (condition1) {
// runs if condition1 is true
} else if (condition2) {
// runs if condition2 is true
} else {
// runs if none are true
}
Es wird immer nur ein Block ausgeführt — die erste zutreffende Bedingung gewinnt.
Beispiel
Main.java
123456789101112131415161718package com.example; public class Main { public static void main(String[] args) { int deliveryDistance = 7; if (deliveryDistance > 20) { System.out.println("Delivery fee: 10€"); } else if (deliveryDistance > 10) { System.out.println("Delivery fee: 5€"); } else if (deliveryDistance > 5) { System.out.println("Delivery fee: 2€"); } else { System.out.println("Free delivery"); } } }
deliveryDistance wird von oben nach unten mit jeder Bedingung verglichen. Da 7 weder größer als 20 noch als 10 ist, aber größer als 5, trifft der dritte Block zu und gibt "Delivery fee: 2€" aus. Das else am Ende wird nur ausgeführt, wenn keine der Bedingungen zutrifft.
Ein sehr wichtiger Punkt ist, dass die Reihenfolge entscheidend ist. Da Java bei der ersten true-Bedingung stoppt, sollten die Prüfungen von der strengsten zur allgemeinsten Bedingung angeordnet werden – andernfalls könnte eine allgemeinere Bedingung Werte abfangen, die eigentlich für eine spezifischere Regel gedacht sind.
Stelle dir else if-Ketten als eine Entscheidungsleiter vor – das Programm steigt Stufe für Stufe hinab, bis es die passende Bedingung findet.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen