Switch-case-Anweisung: Unterschied zwischen den Versionen
K |
|||
Zeile 1: | Zeile 1: | ||
− | Mit einer switch-case-Anweisung kann man Bedingungen testen. | + | Mit einer switch-case-Anweisung kann man Bedingungen testen. |
− | + | Sie werden sich jetzt bestimmt fragen, wofür wir das brauchen, wenn wir das auch mit einer [[If-Anweisung]] machen können. Wir benötigen eine switch-case-Anweisung in dem Fall, wenn wir zwischen vielen Bedingungen unterscheiden wollen. Das Konstrukt ist dann gegenüber einer if-Anweisung deutlich besser lesbar. | |
+ | Schauen wir uns dieses Beispiel an: | ||
− | public class | + | <code=java> |
− | + | public class Switch { | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | public static void main(String[] args) { | ||
+ | |||
+ | int zahl = 3 | ||
+ | |||
+ | switch(zahl) | ||
+ | { | ||
+ | case 1: | ||
+ | { | ||
+ | System.out.print("Unsere Variable hat den Wert 1"); | ||
+ | break; | ||
+ | } | ||
+ | case 2: | ||
+ | { | ||
+ | System.out.print("Unsere Variable hat den Wert 2"); | ||
+ | break; | ||
+ | } | ||
+ | case 3: | ||
+ | { | ||
+ | System.out.print("Unsere Variable hat den Wert 3"); | ||
+ | break; | ||
+ | } | ||
+ | case 4: | ||
+ | { | ||
+ | System.out.print("Unsere Variable hat den Wert 4"); | ||
+ | break; | ||
+ | } | ||
+ | case 5: | ||
+ | { | ||
+ | System.out.print("Unsere Variable hat den Wert 5"); | ||
+ | break; | ||
+ | } | ||
+ | default: | ||
+ | { | ||
+ | System.out.print("Unsere Variable ist größer als 5"); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | }} | ||
} | } | ||
− | |||
</code=java> | </code=java> | ||
Version vom 24. Dezember 2017, 09:34 Uhr
Mit einer switch-case-Anweisung kann man Bedingungen testen.
Sie werden sich jetzt bestimmt fragen, wofür wir das brauchen, wenn wir das auch mit einer If-Anweisung machen können. Wir benötigen eine switch-case-Anweisung in dem Fall, wenn wir zwischen vielen Bedingungen unterscheiden wollen. Das Konstrukt ist dann gegenüber einer if-Anweisung deutlich besser lesbar.
Schauen wir uns dieses Beispiel an:
<code=java> public class Switch {
public static void main(String[] args) { int zahl = 3 switch(zahl) { case 1: { System.out.print("Unsere Variable hat den Wert 1"); break; } case 2: { System.out.print("Unsere Variable hat den Wert 2"); break; } case 3: { System.out.print("Unsere Variable hat den Wert 3"); break; } case 4: { System.out.print("Unsere Variable hat den Wert 4"); break; } case 5: { System.out.print("Unsere Variable hat den Wert 5"); break; } default: { System.out.print("Unsere Variable ist größer als 5"); } } }
}} } </code=java>
Wir haben eine Variable deklariert und definiert. Unsere Variable hat den Wert 3. Danach machen wir in switch eine Abfrage. In den Klammern steht die Bedingung. Wenn unsere Variable zahl den Wert 3 hat, dann wird der case 3 Block ausgeführt. Mit dem Befehl break wird die switch-case-Anweisung ab dieser Stelle verlassen. Wenn wir break nicht schreiben, dann wird das Programm weiter laufen und alle andere Bedingungen werden ausgeführt und das wollen wir natürlich nicht. Ändern wir jetzt unsere Variable in z.B. 5, dann wird der case 5 Block ausgeführt. Hat unsere Variable größeren Wert als 5, dann wird der default Block ausgeführt. Das ganze kann man natürlich mit if-else-Konstruktion schreiben, jedoch geht das mit switch-case-Anweisung schneller und einfacher. Als Beispiel siehe auch Switch-Case und Streams