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
defaultbenö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
- Switch im Pfeilstil
- switch als Ausdruck
- Das Schlüsselwort yield
- Fälle mit mehreren Labels