Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Switch-Anweisungen in Java | Operatoren und Bedingungen
Einführung in Java

Switch-Anweisungen in Java

Swipe um das Menü anzuzeigen

Bisher waren if, else und else if die Hauptwerkzeuge zur Behandlung verschiedener Situationen. Diese eignen sich hervorragend zum Überprüfen von Bedingungen, Bereichen oder Vergleichen.

Manchmal vergleichen wir jedoch keine Bereiche – wir möchten lediglich eine Variable mit mehreren exakten Werten abgleichen. Zum Beispiel:

  • ein Kunde wählt eine Zahlungsmethode aus;
  • eine Kaffee-Bestellung hat eine bestimmte Abholart;
  • ein Treueprogramm-Mitglied wählt eine Prämienstufe.

Hier kommen switch-Anweisungen zum Einsatz – sie vergleichen einen Wert mit mehreren exakten Übereinstimmungen auf eine übersichtlichere und strukturierte Weise.

Struktur

switch (variable) {
    case "value1" -> {
        // code
    }

    case "value2" -> {
        // code
    }

    default -> {
        // fallback code
    }
}

Java prüft jeden case der Reihe nach, bis eine Übereinstimmung gefunden wird.

Beispiel

Main.java

Main.java

1234567891011121314151617181920212223242526
package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }

Java prüft pickupType Fall für Fall — "pickup" passt nicht, "delivery" passt, daher wird "Your coffee is on the way" ausgegeben und das break beendet den switch sofort. Der default-Block am Ende funktioniert wie ein abschließendes else — er wird nur ausgeführt, wenn keine der Fälle zutrifft.

Java 14+ — Neue Switch-Syntax

Ab Java 14 wurde eine neue Syntax mit dem ->-Pfeil eingeführt:

switch (pickupType) {
    case "pickup" -> System.out.println("Your coffee will be ready at the counter");
    case "delivery" -> System.out.println("Your coffee is on the way");
    case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
    default -> System.out.println("Unknown order type");
}

Was sich geändert hat:

  • kein break mehr nötig;
  • verwendet -> statt :;
  • jeder Fall ist automatisch isoliert — kein Risiko für Fall-Through;
  • übersichtlicher und leichter lesbar.

Beide Versionen funktionieren gleich — die neue Syntax ist nur moderner und sicherer.

Eine gute Faustregel:

  • if / else if für Vergleiche und Bereiche verwenden;
  • switch verwenden, wenn ein Wert mit vielen exakten Optionen verglichen wird.
question mark

Was ist der Zweck der break-Anweisung innerhalb eines switch?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 6

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Switch-Anweisungen in Java

Bisher waren if, else und else if die Hauptwerkzeuge zur Behandlung verschiedener Situationen. Diese eignen sich hervorragend zum Überprüfen von Bedingungen, Bereichen oder Vergleichen.

Manchmal vergleichen wir jedoch keine Bereiche – wir möchten lediglich eine Variable mit mehreren exakten Werten abgleichen. Zum Beispiel:

  • ein Kunde wählt eine Zahlungsmethode aus;
  • eine Kaffee-Bestellung hat eine bestimmte Abholart;
  • ein Treueprogramm-Mitglied wählt eine Prämienstufe.

Hier kommen switch-Anweisungen zum Einsatz – sie vergleichen einen Wert mit mehreren exakten Übereinstimmungen auf eine übersichtlichere und strukturierte Weise.

Struktur

switch (variable) {
    case "value1" -> {
        // code
    }

    case "value2" -> {
        // code
    }

    default -> {
        // fallback code
    }
}

Java prüft jeden case der Reihe nach, bis eine Übereinstimmung gefunden wird.

Beispiel

Main.java

Main.java

1234567891011121314151617181920212223242526
package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }

Java prüft pickupType Fall für Fall — "pickup" passt nicht, "delivery" passt, daher wird "Your coffee is on the way" ausgegeben und das break beendet den switch sofort. Der default-Block am Ende funktioniert wie ein abschließendes else — er wird nur ausgeführt, wenn keine der Fälle zutrifft.

Java 14+ — Neue Switch-Syntax

Ab Java 14 wurde eine neue Syntax mit dem ->-Pfeil eingeführt:

switch (pickupType) {
    case "pickup" -> System.out.println("Your coffee will be ready at the counter");
    case "delivery" -> System.out.println("Your coffee is on the way");
    case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
    default -> System.out.println("Unknown order type");
}

Was sich geändert hat:

  • kein break mehr nötig;
  • verwendet -> statt :;
  • jeder Fall ist automatisch isoliert — kein Risiko für Fall-Through;
  • übersichtlicher und leichter lesbar.

Beide Versionen funktionieren gleich — die neue Syntax ist nur moderner und sicherer.

Eine gute Faustregel:

  • if / else if für Vergleiche und Bereiche verwenden;
  • switch verwenden, wenn ein Wert mit vielen exakten Optionen verglichen wird.
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 6
some-alt