Die Zweifach-Auswahl
Betrachten wir eine graphische Darstellung der folgenden if-else-Anweisung:
if (gewicht < idealgewicht) System.out.println("Sie sind zu leicht"); else System.out.println("Sie sind nicht zu leicht");

Das Flussdiagramm zur oben dargestellten if-else-Bedingung
Das Flussdiagramm startet mit der Entscheidungsraute, die hier gelb dargestellt ist. In dieser Entscheidungsraute ist die logische Bedingung notiert, die überprüft werden soll. Die Schreibweise in einem Flussdiagramm kann recht locker gehandhabt werden, man muss keine Java-Syntax benutzen. Der Grund: Ein Flussdiagramm ist eine abstrakte Darstellung eines Programmflusses. Wie der Programmfluss dann implementiert wird, ist von der jeweiligen Programmiersprache abhängig. Ein Flussdiagramm gilt für alle Programmiersprachen.
Ist die Bedingung erfüllt (ja, true, 1), dann wird "Sie sind zu leicht" ausgegeben. Das Ausgabesymbol erinnert an ein Stück abgerissenes Papier. Ist die Bedingung nicht erfüllt (nein, false, 0), dann wird "Sie sind nicht zu leicht" ausgegeben.
Nachdem die Ausgabe - entweder die eine oder die andere - getätigt wurde, wird der nächste Befehl ausgeführt, der hier nicht weiter spezifiziert ist. Das Symbol für einfache Befehle ist ein rechteckiger Kasten. Außerdem gibt es noch ein Symbol für Eingaben, das in diesem Beispiel aber nicht verwendet wird. Es sieht aus wie eine altertümliche Lochkarte.
Die Dreifach-Auswahl
Oft will man nicht nur zwischen zwei verschiedenen Fällen unterscheiden, sondern zwischen drei Fällen, beispielsweise
- "Sie sind zu leicht"
- "Sie sind zu schwer"
- "Perfekt"
Die if-else-Bedingung ist aber grundsätzlich eine Zweifachauswahl: Entweder ist die Bedingung erfüllt (Fall 1), oder sie ist nicht erfüllt (Fall 2). Wie kann man in Java trotzdem eine Dreifachauswahl realisieren?
Der Trick, mit dem eine solche Dreifach-Auswahl funktioniert, liegt in der Syntax der if-else-Anweisung.

Graphische Darstellung einer if-Anweisung durch ein Syntaxdiagramm
Dieses Syntaxdiagramm wird in der Folge 2 des OOP-Kurses näher beschrieben. Um zu verstehen, wie man eine Dreifach-Anweisung oder sogar eine Vierfach-Anweisung in Java aufbaut, muss man sich mit dem Begriff "Anweisung" näher beschäftigen.
Eine Anweisung kann nämlich zweierlei sein:
Entweder
- ein Ausgabe-Befehl wie System.out.println("Sie sind zu leicht");
- ein Methodenaufruf wie ideal = getIdealgewicht();
- eine Zuweisung wie ideal = (groesse-100) * 0.9
- und mehr ...
oder aber
- eine weitere if-else-Anweisung
- eine while-Schleife
- eine for-Schleife
- und mehr ...
Schauen Sie sich dazu das folgende Flussdiagramm an:

Flussdiagramm für eine Dreifachauswahl
Die if-else-Anweisung
if (gewicht < idealgewicht) ...
gibt im true - Fall (Ja) "Sie sind zu leicht" aus.
Im false-Fall (Nein) dagegen wird eine zweite if-else-Anweisung ausgeführt. In dieser if-else-Anweisung (im roten Kasten) wird
if (gewicht > idealgewicht) ...
gefragt. Trifft die Bedingung zu, wird "Sie sind zu schwer" ausgegeben, und wenn nicht, "Perfekt".
Ersetzt man nun einen dieser Ausgabe-Befehle durch eine dritte if-else-Anweisung, so erhält man eine Vierfach-Auswahl. Auf die gleiche Weise lassen sich Fünfach-, Sechsfach-Auswahlen und so weiter realisieren.
Allerdings sollte man es mit der Schachtelungsebene dieser Vielfach-Auswahlen nicht übertreiben. Als Alternative für Fünf-, Sechs- oder Mehrfach-Auswahlen bietet sich die switch-case-Anweisung an, die auf einer eigenen Seite in dieser Abteilung näher beschrieben wird.
Quellen:
- Lahres et al.: Objektorientierte Programmierung, Rheinwerk Computing 2021.
- Barnes, Kölling: Java lernen mit BlueJ - Objects first. Pearson-Verlag 2019.
- Ullenboom: Java ist auch eine Insel, Rheinwerk Computing 2023.