Switch Statement
Teil des Abschnitts Grundlagen der Java-Journey von Coddy — Lektion 29 von 73.
Die switch-Anweisung ist wie eine mehrwegige if-Anweisung. Anstatt eine einzelne Bedingung zu bewerten, prüft sie den Wert einer Variable gegen mehrere Fälle ab und führt den Code aus, der dem passenden Fall zugeordnet ist.
Hier ist die grundlegende Struktur einer switch-Anweisung:
switch (variable) {
case value1:
// Code, der ausgeführt wird, wenn variable gleich value1 ist
break;
case value2:
// Code, der ausgeführt wird, wenn variable gleich value2 ist
break;
// … weitere Fälle
default:
// Code, der ausgeführt wird, wenn kein Fall zutrifft
}- Das
switch-Schlüsselwort wird von der Variable, die Sie testen möchten, in Klammern gefolgt. - Jeder
casestellt einen möglichen Wert der Variable dar. - Der Code innerhalb jedes
casewird ausgeführt, wenn die Variable mit dem Wert dieses Cases übereinstimmt.
- Die
break-Anweisung ist entscheidend; sie verlässt denswitchnach der Ausführung eines Falls. Ohne sie würde die Ausführung „durchfallen“ zum nächsten Fall. - Der
default-Fall ist optional und wird ausgeführt, wenn kein anderer Fall zutrifft.
Hier ist ein Beispiel:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... Fälle für andere Tage
default:
dayName = "Invalid day";
}Sie können auch mehrere Fälle in einen kombinieren:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... cases for other days
default:
dayName = "Invalid day";
}Aufgabe
AnfängerErstellen Sie ein Programm, das eine Monatsnummer (1 für Januar, 2 für Februar usw.) entgegennimmt und die Jahreszeit ausgibt, zu der sie gehört. Verwenden Sie eine switch-Anweisung für die Logik.
Die Jahreszeiten und ihre entsprechenden Monate sind:
- Winter: Dezember (12), Januar (1), Februar (2)
- Spring: März (3), April (4), Mai (5)
- Summer: Juni (6), Juli (7), August (8)
- Autumn: September (9), Oktober (10), November (11)
Für jede andere Monatsnummer geben Sie "Invalid month" aus.
Spickzettel
Die switch-Anweisung ist eine mehrwegige Bedingung, die eine Variable gegen mehrere Fälle prüft:
switch (variable) {
case value1:
// Code to execute if variable equals value1
break;
case value2:
// Code to execute if variable equals value2
break;
default:
// Code to execute if no case matches
}Wichtige Komponenten:
case: stellt einen möglichen Wert der Variable darbreak: verlässt den switch nach der Ausführung eines Falls (verhindert Fall-through)default: optionaler Fall, der ausgeführt wird, wenn kein anderer Fall zutrifft
Sie können mehrere Fälle kombinieren:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
}Probier es selbst
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// Schreibe deinen Code unten
System.out.println(season);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else