Direkt zum Inhalt
Urkunden
Java SchlüsselwörterJava-ArraysJava Objektorientierte ProgrammierungJava File HandlingEinführung in JavaGrundlagen der Java-Sprache

switch Schlüsselwort in Java

Das Schlüsselwort switch wird in Java verwendet, um einen Codeblock unter vielen Alternativen auszuführen. Es handelt sich um eine Steueranweisung, mit der die Variable auf Gleichheit mit einer Liste von Werten geprüft werden kann, die jeweils einen eigenen Codeblock enthalten.

Verwendung

Die Anweisung switch bietet einen saubereren und lesbareren Weg, um mehrere bedingte Verzweigungen zu handhaben, als die Verwendung mehrerer if-else Anweisungen.

Syntax

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    // more cases...
    default:
        // default code block
}
  • expression: Die Variable oder der Ausdruck, dessen Wert mit den Fallwerten verglichen wird.
  • case value: Ein konstanter Wert, mit dem der Ausdruck verglichen wird. Wenn sie übereinstimmen, wird der entsprechende Codeblock ausgeführt.
  • break: Beendet die Anweisung switch und verhindert ein Durchfallen.
  • default: Wird ausgeführt, wenn kein Fallwert mit dem Ausdruck übereinstimmt.

Beispiele

Beispiel 1: Grundlegende Verwendung

public class SwitchExample {
    public static void main(String[] args) {
        int day = 3;
        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            case 3:
                System.out.println("Wednesday");
                break;
            case 4:
                System.out.println("Thursday");
                break;
            case 5:
                System.out.println("Friday");
                break;
            case 6:
                System.out.println("Saturday");
                break;
            case 7:
                System.out.println("Sunday");
                break;
            default:
                System.out.println("Invalid day");
        }
    }
}

In diesem Beispiel wird die Variable day mit den Fallwerten verglichen. Da day 3 ist, lautet die Ausgabe "Mittwoch".

Beispiel 2: Strings verwenden

public class SwitchStringExample {
    public static void main(String[] args) {
        String fruit = "Apple";
        switch (fruit) {
            case "Apple":
                System.out.println("Fruit is Apple");
                break;
            case "Banana":
                System.out.println("Fruit is Banana");
                break;
            case "Cherry":
                System.out.println("Fruit is Cherry");
                break;
            default:
                System.out.println("Unknown fruit");
        }
    }
}

Dieses Beispiel zeigt, wie du eine switch Anweisung mit String Werten verwenden kannst. Da fruit "Apfel" ist, lautet die Ausgabe "Frucht ist Apfel".

Beispiel 3: Fall-Through-Verhalten

public class SwitchFallThroughExample {
    public static void main(String[] args) {
        int num = 2;
        switch (num) {
            case 1:
                System.out.println("One");
            case 2:
                System.out.println("Two");
            case 3:
                System.out.println("Three");
                break;
            default:
                System.out.println("Default case");
        }
    }
}

In diesem Beispiel führt das Fehlen der break Anweisungen zu einem Durchfallverhalten. Da num gleich 2 ist, wird die Ausgabe sein:

Two
Three
Default case

Tipps und bewährte Praktiken

  • Verwende break Anweisungen: Verwende immer break Anweisungen, um ein Durchfallen zu verhindern, es sei denn, dies ist ausdrücklich gewünscht.
  • Standardfall: Füge einen default Fall ein, um unerwartete Werte zu behandeln.
  • Konstante Werte: Achte darauf, dass Fallwerte Konstanten oder Literale sind.
  • Typ Kompatibilität: Der Ausdruck switch kann vom Typ byte, short, char, int, String oder ein Enum-Typ sein. Stelle sicher, dass die Groß- und Kleinschreibung mit dem Typ des Ausdrucks kompatibel ist.
  • Lesbarer Code: Verwende switch Anweisungen, um deinen Code lesbarer und wartbarer zu machen im Vergleich zu mehreren if-else Anweisungen.
  • Java 12 Erweiterungen: Ab Java 12 kannst du Switch-Ausdrücke verwenden, um Werte direkt aus Cases zurückzugeben, was die Syntax vereinfacht und die Lesbarkeit des Codes verbessert.
enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

public class SwitchEnumExample {
    public static void main(String[] args) {
        Day day = Day.WEDNESDAY;
        switch (day) {
            case MONDAY:
                System.out.println("Monday");
                break;
            case TUESDAY:
                System.out.println("Tuesday");
                break;
            case WEDNESDAY:
                System.out.println("Wednesday");
                break;
            case THURSDAY:
                System.out.println("Thursday");
                break;
            case FRIDAY:
                System.out.println("Friday");
                break;
            case SATURDAY:
                System.out.println("Saturday");
                break;
            case SUNDAY:
                System.out.println("Sunday");
                break;
        }
    }
}

Die Verwendung von Enums in switch Anweisungen kann die Lesbarkeit des Codes und die Typsicherheit verbessern.

Java Grundlagen lernen

Baue deine Java-Kenntnisse von Grund auf auf und beherrsche Programmierkonzepte.
Kostenloses Lernen beginnen