Kursinhalt
Java-Grundlagen
Java-Grundlagen
Switch-Case-Anweisung
Umgang mit mehreren verschiedenen Bedingungen
Wenn wir viele Bedingungen zu prüfen haben, ist die Verwendung mehrerer if-else
Ketten möglicherweise nicht bequem.
Zum Beispiel:
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `if` statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }
Wir können sehen, dass dies nicht sauber und professionell erscheint. Für solche Fälle bietet Java die switch-case
Anweisung.
switch-case Anweisung
Die switch-case
Anweisung besteht aus mehreren Teilen:
Main
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }
Im obigen Code sehen Sie, dass wir switch-Blöcke verwenden, um Operationen selektiv auszuführen. Wir verlassen uns auf den Ausdruck, der sich leicht von einer Bedingung unterscheidet. Dort fügen wir einen Wert oder einen Ausdruck ein. Zum Beispiel 10 / 2
. In diesem Fall wird der case-Block mit der Signatur case 5
ausgeführt, da der obige Ausdruck 5 ergibt.
Wir können hier auch eine Bedingung verwenden. In diesem Fall müssen wir einen Booleschen Ausdruck im Ausdrucksblock schreiben, und er sollte ungefähr so aussehen: 10 / 2 == 5
. Dann schreiben Sie zwei Fälle darunter:
Aber diese Struktur wird fast nicht von einem regulären if-else
zu unterscheiden sein.
Das Schlüsselwort "break"
Wir verwenden dieses Schlüsselwort, um die Ausführung einer switch-case
-Anweisung zu beenden und ihren Körper zu verlassen. Dieses Wort wird oft in Schleifen verwendet, die wir in den folgenden Kapiteln besprechen werden. Verwenden Sie dieses Schlüsselwort, wenn Sie einen Codeblock verlassen und dessen Ausführung stoppen müssen.
Nun lass uns den Code, den wir oben geschrieben haben, mit der switch-case
-Anweisung verbessern:
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 30; switch (a) { case 10: System.out.println(10); break; case 20: System.out.println(20); break; case 30: System.out.println(30); break; case 40: System.out.println(40); break; default: System.out.println("There is no matching value"); } } }
Wir können sehen, wie der Code viel sauberer und leichter lesbar und erweiterbar geworden ist. Wir müssen keine weitere if
-Anweisung von Grund auf neu schreiben, wenn wir zusätzliche Bedingungen hinzufügen müssen. Stattdessen können wir einen weiteren Case-Block zu unserer switch-case statement
hinzufügen.
Schauen wir uns das switch-case
Blockschema an:
Wie wir sehen können, kann es so viele Fälle geben, wie wir wollen. Jeder Fall erfordert seine eigene Bedingung und seinen eigenen Code, der ausgeführt wird, wenn unser Programm den Fallblock betritt.
Es ist ratsam, das break
Schlüsselwort zu verwenden, da das Programm den Switch-Block nicht verlässt, bis alle Fallblöcke ausgeführt wurden. Der Standardblock wird ausgeführt, wenn wir keinen unserer Fallblöcke betreten haben oder das break
Schlüsselwort nicht verwendet haben.
Schauen wir uns ein weiteres Beispiel ohne break
Schlüsselwörter an:
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 10; switch (a) { case 10: System.out.println(10); case 20: System.out.println(20); case 30: System.out.println(30); case 40: System.out.println(40); default: System.out.println("There is no matching value"); } } }
Wir haben mehrere Werte erhalten, die sich von dem unterscheiden, was wir erwartet haben. Zusätzlich haben wir Informationen aus den case 10
und default
Blöcken erhalten. Genau aus diesem Grund verwenden wir das Schlüsselwort break
nach jedem Block. Auf diese Weise verlässt das Programm die switch
-Anweisung und setzt seine Ausführung fort.
1. Was wird auf der Konsole ausgegeben?
2. Warum benötigen wir das break
Schlüsselwort?
Danke für Ihr Feedback!