fiebig.schule

Die Switch-Anweisung

Erklärung

Darstellung im Struktogramm und Syntax

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

switch (Ausdruck) {
    case Wert1:
        Anweisungsblock1
        break;
        
    case Wert2:
        Anweisungsblock2
        break;
        
    ...
    
    default:
        AnweisungsblockN
}
  • Es ist gute Praxis, den default-Block am Ende zu schreiben, aber nicht zwingend nötig.

Beispiel

char foo = 'b';
switch (foo) {
    case 'a':
        System.out.println("Chose game: A");
        break;
        
    case 'b':
        System.out.println("Chose game: B");
        break;
        
    // ...
    
    default:
        System.out.println("No valid game chosen.");
}

Aufgaben

S: Aufgaben zur Syntax

Wähle alle Java-Schlüsselwörter aus, die in der Switch-Anweisung im Beispiel oben vorkommen.

Finde die vier typischerweise in einer witch-Anweisung verwendeten Schlüsselwörter:

Finde mit möglichst wenigen Versuchen das versteckte Schlüsselwort, das in der Switch-Anweisung im Beispiel oben vorkommt.

G: Aufgaben zur grundlegenden Verwendung

Gegeben ist der folgende Codeausschnitt. Ergänze den Code, sodass sich eine korrete Switch-Anweisung ergibt.

Schreibe ein Leerzeichen vor die runden Klammern.

int age = 15;
 
// Lücke 1
{
    case 17:
        System.out.println("Almost full-aged.");
        break;
        
    case 18:
        System.out.println("Full-aged.");
        break;
 
    case 19:
        System.out.println("Full-aged already");
        break;
    
    // Lücke 2
        System.out.println("Other age than 16, 17 or 18 chosen.);
}

Analysiere die Methode main im folgenden Codeausschnitt und gib an, was das folgende Programm auf der Konsole ausgibt.

public static void main(String[] args) {
    int month = 11;
    String monthText;
    switch (month) {
        case 1:
            monthText = "January";
            break;
 
        case 2:
            monthText = "February";
            break;
 
        case 3:
            monthText = "March";
            break;
 
        case 4:
            monthText = "April";
            break;
 
        case 5:
            monthText = "May";
            break;
 
        case 6:
            monthText = "June";
            break;
 
        case 7:
            monthText = "July";
            break;
 
        case 8:
            monthText = "August";
            break;
 
        case 9:
            monthText = "September";
            break;
 
        case 10:
            monthText = "October";
            break;
 
        case 11:
            monthText = "Movember";
            break;
        case 12:
            monthText = "December";
            break;
 
        default:
            monthText = "Incorrect number for month!";
            break;
    }
    System.out.println(monthText);
}

E: Aufgaben zur erweiterter Verwendung

Im folgenden Codeausschnitt werden Fälle zusammengefasst. Gib an, bei welchen Werten von foo die Methode doSomething() aufgerufen wird.

switch (foo) {
    case 0:
    case 1:
        doSomething();
        break;
 
    case 2:
        doSomethingElse();
        break;
 
    default:
        doSomeOtherThing();
        break;
}

Im folgenden Codeausschnitt wurde das Break-Statement weggelassen. Gib an, welche Methoden in der Switch-Anweisung aufgerufen werden, wenn die Variable foo den Wert 1 hat.

switch (foo) {
    case 1:
        doSomething();
        /* falls through */
 
    case 2:
        doSomethingElse();
        break;
 
    default:
        doSomeOtherThing();
        break;
}

F: Aufgaben zu Fallstricken

Welche Datentypen kann eine Switch-Anweisung überprüfen?

Hilfe: Nutze die oben verlinkte Java-Dokumentation.

Teilbare URL erstellen

Abschnitte auswählen