Logo Java

Java – Fallunterscheidung

Einfache Fallunterscheidung: if-else

Eine Verzweigung stellt eine Auswahl zwischen zwei Szenarien dar. Diese wenn-dann Situation basiert auf einer Bedingung, die entweder wahr oder falsch ist – also einem boolean. Hinter if kommt in runden Klammern die Bedingung. In geschweiften Klammern folgt dann die Anweisung was passieren soll, wenn die Bedingung wahr ist.
Optional kann nun noch das Schlüsselwort else folgen. In den geschweiften Klammern danach folgt die Anweisung was passieren soll, wenn die Bedingung falsch ist.

int x;
//...
if ( x > 5) {
    System.out.println("x ist größer als 5");
} else {
    System.out.println("x ist kleiner oder gleich 5");
}

Außerdem gibt es noch else if. Wie beim normalen else springen wir hier nur hin, wenn die Bedingung falsch ist. Im Gegensatz zum normalen else geben wir hier aber wiederum eine Bedingung wie bei der if-Anweisung an.

int x;
//...
if ( x > 10) {
    System.out.println("x ist größer als 10");
} else if ( x > 5) {
    System.out.println("x ist größer als 5");
} else {
    System.out.println("x ist kleiner oder gleich 5");
}

Die If-Anweisungen können natürlich auch verschachtelt werden.

int x;
//...
if ( x > 5) {
    if ( x == 6) {
        System.out.println("x ist gleich 6");
    } else {
        System.out.println("x ist größer als 5 aber nicht 6");
    }
} else {
    System.out.println("x ist kleiner oder gleich 5");
}

Mehrfach-Fallunterscheidung: switch-case

Wenn wir anders als bei der if-Anweisung nicht zwischen zwei Anweisungen auswählen müssen, sondern vor der Aufgabe stehen, zwischen mehr als zwei Alternativen auszuwählen, dann bietet sich die switch-Anweisung an.
Das ist eine übersichtlichere Lösung als mehrere if-Anweisungen zu verschachteln.
Am besten schauen wir uns das anhand eines Beispiels an.

int x;
//...
switch (x) {
case 1:
    System.out.println("x ist 1");
    break;
case 2:
    System.out.println("x ist 2");
    break;
case 3:
    System.out.println("x ist 3");
    break;
default:
    System.out.println("x ist etwas anderes");
    break;
}

In der runden Klammer nach dem Schlüsselwort switch steht der Ausdruck, der überprüft werden soll. In unserem Beispiel ist das die Integer-Variable x. Die Unterscheidung findet dann in den geschweiften Klammern statt. Dann werden die unterschiedlichen Werte unterschieden. Dies geschieht mit dem Schlüsselwort case, gefolgt von dem zu prüfenden Wert und einem Doppelpunkt. Anschließend folgt eingerückt die entsprechende Anweisung.
Zum Schluss kann man noch einen default-Wert definieren. Diese Anweisung wird ausgeführt, wenn keiner der anderen Werte zutrifft.

Mit break wird der Durchlauf unterbrochen, da die nachfolgenden Sprungmarken sonst ebenfalls geprüft und die dort vorhandenen Anweisungen ggf. ausgeführt werden. Die default-Anweisung würde in unserem Beispiel immer ausgeführt werden, wenn break bei den Anweisungen 1 bis 3 fehlen würde.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert