Literatur

switch-Anweisungen

Eine Weitere Mehrfachverzweigung bietet die sogenannte switch-Anweisung. Im Prinzipt entspricht eine switch-Anweisung einer mehrfach geschachtelten if-Anweisung, hat aber den Vorteil, dass sie übersichtlicher ist.

Die switch-Anweisung besitzt folgenden Aufbau:

// Ausdruck muss vom Datentyp int oder char sein
switch (Ausdruck)
{
        /* Ist der Ausdruck gleich konstanter_Ausdruck1, dann führe Anweisung1 aus. */
        case Vergleichswert1:    Anweisung1;
                                 break;
        /* Ist der Ausdruck gleich konstanter_Ausdruck2, dann führe Anweisung2 aus. */
        case Vergleichswert2:    Anweisung2;
                                 break;
         /* Ist der Ausdruck ungleich aller konstanten Ausdrücke, dann führe die Anweisung_default aus. */
        default:                 Anweisungen_default; /* break ist hier nicht erforderlich */
}


Das Schlüsselwort switch leitet die switch-Anweisung ein. Anschließend folgt in runden Klammern ein Ausdruck. Dieser Ausdruck muss vom Datentyp int oder char sein. Andere Datentypen sind nicht zulässig. Nun folgt ein zwingend erforderlicher Anweisungsblock mit den möglichen Fällen, die dieser Ausdruck annehmen kann.

Das Schlüsselwort case leitet einen Fall ein. Anschließend folgt ein Vergleichswert vom Datentyp int oder char (z.B. 5 oder 'c'). Der Doppelpunkt nach dem konstanten Ausdruck ist zwingend erforderlich. Nun folgen die Anweisungen, die ausgeführt werden sollen, wenn der Ausdruck dem Vergleichswert entspricht.

Das Schlüsselwort break am Ende eines Falles bedeutet, dass die switch-Anweisung dann verlassen wird.  Sollte kein break am Ende eines Falles stehen, so werden auch alle  nachfolgenden Fälle ausgeführt, bis entweder ein break kommt oder alle Fälle durchlaufen wurden. Der letzte Fall sollte immer der default-Fall sein. Dieser Fall wird immer dann ausgeführt, wenn keiner der obigen Fälle auf den Ausdruck zutrifft.

Kommen wir nun zu den Beispielen der switch-Anweisung. Wir möchten Sie bitten, zu überlegen, welcher Fall der switch-Anweisung ausgeführt wird. Zu jedem Beispiel gibt es auch wieder eine Schaltfläche, mit der Sie die Lösung erfahren können.


Beispiel 1:

// Variablendeklaration mit Initialisierung (Kurzform)
int wert=5;
 
switch(wert)
{
    case 2:    break;
    case 3:    //Mach irgendwas
               break;
    case 4:
    case 5:    System.out.println("Wert ist gleich 4 oder 5"); break;
    default:   // Mach irgendwas standardmäßiges
 
}


 

Beispiel 2:

// Variablendeklaration mit Initialisierung (Kurzform)
char wert= '\n';
 
switch(wert)
{
    case '\t':      break;
    case '\n':      //Mach irgendwas
                    break;
    case '\r':
    default:       // Mach irgendwas standardmäßiges
 
}



Wir möchten Sie an dieser Stelle bitten, ein wenig mit der switch-Anweisung zu experimentieren. Erstellen Sie eine Startklasse, nehmen Sie sich die Beispiele oder erstellen sich selbst welche und modifizieren Sie die Variablen und fügen Sie am besten ein paar Ausgaben mit System.out.println(„IHR TEXT“); ein. Experimentieren Sie auch ein wenig mit den breaks, lassen Sie ruhig ein paar weg und sehen sich die Ausgaben an, damit Sie verfolgen können, welche Fälle genau durchlaufen werden.