0Pricing
Java Academy · Lektion

switch als Ausdruck

Geben Sie Werte aus switch zurück

switch als Ausdruck ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Anweisungen und Ausdrücke

Eine Anweisung führt eine Aktion aus. Ein Ausdruck erzeugt einen Wert. Modernes Java ermöglicht switch als Ausdruck, sodass Sie sein Ergebnis direkt einer Variable zuweisen können.

Ein switch-Ergebnis zuweisen

Wenn switch auf der rechten Seite von = steht, liefert jeder Zweig den Wert. Die Pfeilform gibt den Wert nach -> automatisch zurück.

public class Main {
    public static void main(String[] args) {
        int day = 6;
        String type = switch (day) {
            case 6, 7 -> "Weekend";
            default -> "Weekday";
        };
        System.out.println(type);
    }
}

Semikolon nach dem Block

Da ein switch-Ausdruck Teil einer Anweisung ist, endet er nach der schließenden Klammer mit einem Semikolon. Es zu vergessen, führt häufig zu einem Kompilierungsfehler.

public class Main {
    public static void main(String[] args) {
        int n = 2;
        int doubled = switch (n) {
            case 1 -> 2;
            case 2 -> 4;
            default -> 0;
        };
        System.out.println(doubled);
    }
}

Vollständigkeit

Ein switch-Ausdruck muss jeden möglichen Wert abdecken. Bei den meisten Typen bedeutet das, einen default-Zweig einzufügen, da der Code sonst nicht kompiliert wird.

public class Main {
    public static void main(String[] args) {
        int score = 85;
        char grade = switch (score / 10) {
            case 10, 9 -> 'A';
            case 8 -> 'B';
            case 7 -> 'C';
            default -> 'F';
        };
        System.out.println(grade);
    }
}

Enums benötigen kein default

Wenn Sie über ein enum verzweigen und jede Konstante abdecken, weiß der Compiler, dass der Ausdruck vollständig ist. Ein default-Zweig wird dadurch optional.

public class Main {
    enum Dir { NORTH, SOUTH, EAST, WEST }
    public static void main(String[] args) {
        Dir d = Dir.EAST;
        String label = switch (d) {
            case NORTH -> "Up";
            case SOUTH -> "Down";
            case EAST -> "Right";
            case WEST -> "Left";
        };
        System.out.println(label);
    }
}

Direkte Rückgabe

Eine Methode kann einen switch-Ausdruck direkt mit return zurückgeben, wodurch sich kompakte Nachschlagemethoden erstellen lassen.

public class Main {
    static int sides(String shape) {
        return switch (shape) {
            case "triangle" -> 3;
            case "square" -> 4;
            case "pentagon" -> 5;
            default -> 0;
        };
    }
    public static void main(String[] args) {
        System.out.println(sides("square"));
    }
}

Numerische Ergebnisse

Zweige können Zahlen zurückgeben, Berechnungen durchführen oder Methoden aufrufen. Jeder Zweig muss einen Wert desselben Typs wie die Variable erzeugen, der er zugewiesen wird.

public class Main {
    public static void main(String[] args) {
        int month = 2;
        int days = switch (month) {
            case 2 -> 28;
            case 4, 6, 9, 11 -> 30;
            default -> 31;
        };
        System.out.println("Days: " + days);
    }
}

Das Ergebnis direkt verwenden

Der Wert eines switch-Ausdrucks kann sofort verwendet werden, zum Beispiel innerhalb eines Aufrufs von println.

public class Main {
    public static void main(String[] args) {
        int code = 1;
        System.out.println("Status: " + switch (code) {
            case 0 -> "OK";
            case 1 -> "Warning";
            default -> "Error";
        });
    }
}

Konsistenter Typ

Alle Zweige müssen denselben Ergebnistyp liefern. Wenn ein Zweig ein int und ein anderer ein String zurückgibt, wird der Code nicht kompiliert. Achten Sie auf einheitliche Zweige.

public class Main {
    public static void main(String[] args) {
        int n = 3;
        double factor = switch (n) {
            case 1 -> 0.5;
            case 2 -> 1.0;
            default -> 1.5;
        };
        System.out.println(factor);
    }
}

Ternäre Ketten ersetzen

Ein switch-Ausdruck ist oft übersichtlicher als verschachtelte ternäre Operatoren, wenn ein Wert auf viele Ergebnisse abgebildet wird.

public class Main {
    public static void main(String[] args) {
        int rating = 4;
        String stars = switch (rating) {
            case 1 -> "*";
            case 2 -> "**";
            case 3 -> "***";
            case 4 -> "****";
            default -> "*****";
        };
        System.out.println(stars);
    }
}

Mit Variablen kombinieren

Sie können das Ergebnis eines switch-Ausdrucks in weiteren Berechnungen verwenden, genau wie jeden anderen Wert.

public class Main {
    public static void main(String[] args) {
        int tier = 2;
        int discount = switch (tier) {
            case 1 -> 5;
            case 2 -> 10;
            default -> 0;
        };
        int price = 100 - discount;
        System.out.println("Price: " + price);
    }
}

Kurze Überprüfung

Warum muss ein switch-Ausdruck normalerweise einen default-Zweig enthalten?

Zusammenfassung

Sie haben gelernt, switch als Ausdruck zu verwenden:

  • Er erzeugt einen Wert, den Sie zuweisen oder zurückgeben können
  • Beenden Sie die Zuweisung mit einem Semikolon
  • Er muss vollständig sein (normalerweise wird default benötigt)
  • Enums, bei denen alle Konstanten abgedeckt sind, benötigen kein default
  • Alle Zweige müssen denselben Ergebnistyp liefern

Häufig gestellte Fragen

Ist die Lektion „switch als Ausdruck“ kostenlos?

Ja — der vollständige Text von „switch als Ausdruck“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „switch als Ausdruck“?

Geben Sie Werte aus switch zurück Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Java Academy zu starten?

Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „switch als Ausdruck“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?

Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Switch im Pfeilstil
  2. switch als Ausdruck
  3. Das Schlüsselwort yield
  4. Fälle mit mehreren Labels
← Zurück zu Java Academy