Video

Wie funktioniert der Switch Case in Java? Das erfährst du hier und im Video anhand von vielen Beispielen!

Inhaltsübersicht

Java Switch Case einfach erklärt

Ein Switch Case in Java ersetzt mehrere if-Anweisungen durch einen Ausdruck.

int geburtsjahr = 2011;	

switch (geburtsjahr){
    case 2010:
	System.out.println(“Kind ist in Gruppe A“);
	break;
    case 2011:
	System.out.println(“Kind ist in Gruppe B“);
	break;
    case 2012:
	System.out.println(“Kind ist in der Gruppe C“);
	break;
    default:
	System.out.println(“Kind ist in keiner Gruppe“);
}

Ausgabe: “Kind ist in Gruppe B“

  1. Mit switch wird das zu überprüfende Geburtsjahr (hier: 2011) übergeben. 
  2. Das Geburtsjahr wird mit jedem der Cases (Fälle) verglichen. Stimmt das Geburtsjahr mit einem case überein, wird der Codeblock darunter ausgeführt. 
  3. Kommt das Programm bei break an, überprüft es keinen der folgenden Cases mehr. Im Beispiel wird also case 2012 nicht mehr überprüft.
  4. Trifft keiner der Cases zu, wird der Codeblock unter default ausgeführt.

Wichtig: Die Variable, die im Switch-Statement steht, muss vom Typ int, Stringbyte, short, char oder enum sein. Variablen anderer Datentypen, zum Beispiel floats oder Objekte, funktionieren nicht.

Java Switch Case String

Neben Zahlen kannst du auch Strings mit einem Java Switch Case überprüfen. 

String wort = “zwei“;	

switch (wort){
    case “eins“:
	System.out.println(“one“);
	break;
    case “zwei“:
	System.out.println(“two“);
	break;
    case “drei“:
	System.out.println(“three“);
	break;
    default:
	System.out.println(“Das Wort ist unbekannt.“);
}

Ausgabe: “two“

Wichtig: Denke immer an den Doppelpunkt am Ende der case-Zeile.

Studyflix vernetzt: Hier ein Video aus einem anderen Bereich

Nach Beantwortung speichern wir deine Antwort, um Studyflix zu verbessern. Mehr dazu erfährst du in unserer Datenschutzerklärung.

Multiple Case Statement

Es gibt verschiedene Varianten, ein Java Switch Case Statement aufzuschreiben. Sie sind vor allem dann nützlich, wenn du viele verschiedene Cases überprüfen willst, die teilweise dieselbe Ausgabe haben sollen (Multiple Case Statement).

Das kannst du auf zwei verschiedene Arten aufschreiben: Die beiden folgenden Beispiele sind bis auf die Notation identisch.

Mehrere Cases untereinander:

switch (geburtsjahr){
    case 2011:
    case 2012:
    case 2013:
	System.out.println(“Kind ist in Gruppe A“);
	break;
    case 2014:
    case 2015:
	System.out.println(“Kind ist in Gruppe B“);
	break;
    default:
	System.out.println(“Kind ist in keiner Gruppe“);
}

Mehrere Cases nebeneinander:

switch (geburtsjahr){
    case 2011, 2012, 2013:
	System.out.println(“Kind ist in Gruppe A“);
	break;
    case 2014, 2015:
	System.out.println(“Kind ist in Gruppe B“);
	break;
    default:
	System.out.println(“Kind ist in keiner Gruppe“);
}

Switch-Ausdrücke (ab Java 12)

Mit Switch-Ausdrücken kannst du das Ergebnis des Switch-Statements in einer Variable speichern (hier: gruppe). Der Doppelpunkt nach einem Case und die break-Anweisungen fallen dabei weg. Stattdessen verwendest du den Pfeiloperator.

String gruppe = switch (geburtsjahr){
    case 2011, 2012, 2013 -> “Kind ist in Gruppe A“;
    case 2014, 2015 -> “Kind ist in Gruppe B“;
    default -> “Kind ist in keiner Gruppe“;
}

Wenn du mehr als einen Befehl in einem Case ausführen möchtest, kannst du das Keyword yield verwenden (ab Java 13). Der Ausdruck hinter yield wird dann in der Variable gespeichert:

int geburtsjahr = 2011;	

String gruppe = switch (geburtsjahr){
    case 2011, 2012, 2013 -> { 
        System.out.println(“Kind ist in Gruppe A“);
        yield “Kind ist in Gruppe A“;
    }
    case 2014, 2015 -> {
        System.out.println(“Kind ist in Gruppe B“);
	yield “Kind ist in Gruppe B“;
    }
    default -> {
        System.out.println(“Kind ist in keiner Gruppe“);
	yield “Kind ist in keiner Gruppe“;
    }
}

Java Interface

Damit Java dir zukünftig keine Probleme mehr bereitet, haben wir dir dazu noch einige weitere Videos erstellt. In unserem Video zu den Java Interfaces erfährst du, wie diese aufgebaut sind und wie du sie in deinem Java Code verwenden kannst. Schau es dir gleich an!

Java Interface
Zum Video: Java Interface

Switch Case Java — häufigste Fragen

(ausklappen)
  • Ist switch-case besser als if?
    Ein switch-case ist nicht grundsätzlich besser als if, sondern oft übersichtlicher, wenn man eine Variable mit vielen festen Werten vergleichen will. Eine if-Anweisung ist meist passender, wenn unterschiedliche Bedingungen geprüft werden sollen. Entscheidend ist, welcher Code leichter zu lesen und weniger fehleranfällig ist.
  • Ist switch case schneller als if in Java?
    Ein switch case ist in Java nicht generell schneller als if, weil die Laufzeit stark vom konkreten Code und von Optimierungen abhängt. In typischen Schulaufgaben ist der Unterschied meistens nicht spürbar. Sinnvoller ist es, die Variante zu wählen, die die Fälle am klarsten strukturiert.
  • Kann man im switch mit größer oder kleiner vergleichen?
    Ein switch vergleicht in Java keine „größer als“- oder „kleiner als“-Bedingungen, sondern prüft, ob ein Wert genau zu einem „case“ passt. Für Vergleiche mit Bereichen oder Ungleichungen verwendet man if/else. Ein switch eignet sich daher vor allem für feste, einzelne Werte.
  • Was passiert, wenn man break im switch weglässt?
    Ohne break läuft das Programm nach einem passenden case im switch einfach weiter in die folgenden case-Blöcke hinein und führt deren Code ebenfalls aus. Dieser Effekt heißt oft „Fall-through“. Der Ablauf stoppt erst bei einem späteren break oder am Ende des switch-Blocks.

Kontrollstrukturen verstehen

Switch Case in Java gehört zu den Kontrollstrukturen und steuert, welcher Code ausgeführt wird. Du wählst je nach Bedingung zwischen verschiedenen Wegen im Programm und hältst den Ablauf übersichtlich. So erkennst du schneller, wann Verzweigungen sinnvoll sind und wie du sie sauber in deinen Code einbaust. Weitere Videos dazu findest du in unserem Informatikbereich.

Lernen lohnt sich! Entdecke hier deine Chancen.