switch-Anweisung

Eine switch-Anweisung in Java ermöglicht eine Fallunterscheidung zwischen mehreren alternativen Möglichkeiten. Diese besteht aus einer Menge möglicher Werte und den jeweils zugeordneten Möglichkeiten.

Aufbau der switch-Anweisung

switch (Bedingung)
case k1:
    Anweisung 1
case kn:
    Anweisung n
default:
    Anweisung d

Bei der Bedingung muss es sich um einen der Datentypen byte, short, int oder char handeln – boolean ist hier nicht zulässig. Die Werte von k1 bis kn müssen ebenfalls dem Datentyp der Bedingung entsprechen oder mit diesem verträglich sein.

Wird die switch-Anweisung ausgeführt, so wird zuerst der Wert der Bedingung ausgewertet und mit den aufgeführten Fällen verglichen. Entspricht der Wert der Bedingung einem Wert der Fälle, so wir der entsprechende Fall inklusive aller folgenden Fälle ausgeführt. Ist ein Standardfall („defaultcase“) angegeben, so wird dieser unabhängig von den anderen Fällen am Ende der switch-Anweisung abgearbeitet. Der defaultcase ist jedoch optional und kann weggelassen werden.

Beispielcode

public static void main(String[] args) {
        zahlZuBuchstabe(1);
    }

    public static void zahlZuBuchstabe(int zahl) {
        switch (zahl) {
            case 1:
                System.out.println('A');
            case 2:
                System.out.println('B');
            case 3:
                System.out.println('C');
            default:
                System.out.println("Anderer Buchstabe");
        }
    }
A
B
C
Anderer Buchstabe

Wie oben beschrieben, werden in diesem Beispiel nach der Auswertung von „case 1“ auch noch die folgenden Fälle inklusive des defaultcase ausgeführt. Um dies zu vermeiden, könnten wir in jeden case noch eine Sprunganweisung einfügen, zu diesen folgt noch ein separater Beitrag. Nur so viel: mit der break-Anweisung unterbinden wir die Ausführung der folgenden Fälle.

    public static void main(String[] args) {
        zahlZuBuchstabe(1);
        zahlZuBuchstabe(4);
    }

    public static void zahlZuBuchstabe(int zahl) {
        switch (zahl) {
            case 1:
                System.out.println('A');
                break;
            case 2:
                System.out.println('B');
                break;
            case 3:
                System.out.println('C');
                break;
            default:
                System.out.println("Anderer Buchstabe");
                break;
        }
    }
A
Anderer Buchstabe

Dieser Beitrag hat einen Kommentar

Schreibe einen Kommentar