Motivation
Im täglichen Leben gibt es viele Tätigkeiten, die durchgeführt werden, wenn bestimmte Bedingungen erfüllt sind. Beispielsweise sammelt man leere Wasserflaschen und geht neue kaufen, wenn die die Bedingung eintritt, dass die letzte Flasche getrunken wurde.
Aktionen bzw. Vorgänge, die in Abhängigkeit von bestimmten Bedingungen ausgelöst werden, existieren auch in Programmiersprachen. In diesem Kapitel werden wir deshalb die if-Bedingung betrachten, die genau für diese Fälle gedacht ist.
Syntax
Eine einfache Anwendung soll der folgende Programmausschnitt zeigen, der in Abhängigkeit einer Note einen entsprechenden Text ausgibt:
int note = 4;
if (note < 2) { (1)
System.out.println("Super");
} else if (note < 4) { (2)
System.out.println("Ist in Ordnung");
} else if (note < 5) { (3)
System.out.println("Wird langsam knapp!");
} else { (4)
System.out.println("Hmm, vielleicht doch mal die Hausaufgaben machen?");
}
1 |
Wenn die Variable note einen Zahlenwert kleiner als 2 enthält, führe den nachfolgenden Block aus. |
2 |
Sonst, wenn die Note kleiner als 4 ist (also hier 2 oder 3), dann den nachfolgenden Block ausführen. |
3 |
Sonst, wenn die Note kleiner als 5 ist (wird für den Fall erfüllt, dass note den Wert 4 enthält), dann den folgenden Block ausführen. |
4 |
Sonst (also in allen anderen Fällen, die bisher noch nicht vorkamen, hier für 5 und 6) führe wieder den nachfolgenden Block aus. |
In diesem Beispiel wird der Satz "Wird langsam knapp!" ausgegeben, da weder die erste, noch die zweite Bedingung erfüllt wird, wohl aber die Bedingung, dass 4 kleiner als 5 ist. Wurde eine Bedingung erfüllt, werden alle nachfolgenden Bedingungen nicht mehr überprüft.
So gibt das nachfolgende Beispiel wieder den Satz "Wird langsam knapp!" aus, obwohl hier als Note eine 3 übergeben wird. Im oberen Beispiel wäre hier "Ist in Ordnung" erschienen.
int note = 3;
if (note < 2) {
System.out.println("Super");
} else if (note < 5) { (1)
System.out.println("Wird langsam knapp!");
} else if (note < 4) { (2)
System.out.println("Ist in Ordnung");
} else {
System.out.println("Hmm, vielleicht mal Hausaufgaben machen?");
}
1 |
Diese Bedingung wird von der 3 erfüllt, also wird der Satz "Wird langsam knapp" ausgegeben. |
2 |
Auch diese Bedingung wird von der 3 erfüllt. Allerdings gelangt die Progammausführung gar nicht mehr bis zu dieser Stelle, da bereits die Bedingung davor schon erfüllt wurde. |
== Die IF-Bedingung
== Motivation
Im täglichen Leben gibt es viele Tätigkeiten, die durchgeführt werden, wenn bestimmte Bedingungen erfüllt sind. Beispielsweise sammelt man leere Wasserflaschen und geht neue kaufen, wenn die die Bedingung eintritt, dass die letzte Flasche getrunken wurde.
Aktionen bzw. Vorgänge, die in Abhängigkeit von bestimmten Bedingungen ausgelöst werden, existieren auch in Programmiersprachen. In diesem Kapitel werden wir deshalb die *if-Bedingung* betrachten, die genau für diese Fälle gedacht ist.
== Syntax
Eine einfache Anwendung soll der folgende Programmausschnitt zeigen, der in Abhängigkeit einer Note einen entsprechenden Text ausgibt:
[ indent=0]
----
int note = 4;
if (note < 2) { // <1>
System.out.println("Super");
} else if (note < 4) { // <2>
System.out.println("Ist in Ordnung");
} else if (note < 5) { // <3>
System.out.println("Wird langsam knapp!");
} else { // <4>
System.out.println("Hmm, vielleicht doch mal die Hausaufgaben machen?");
}
----
<1> Wenn die Variable `note` einen Zahlenwert kleiner als 2 enthält, führe den nachfolgenden Block aus.
<2> Sonst, wenn die Note kleiner als 4 ist (also hier 2 oder 3), dann den nachfolgenden Block ausführen.
<3> Sonst, wenn die Note kleiner als 5 ist (wird für den Fall erfüllt, dass `note` den Wert 4 enthält), dann den folgenden Block ausführen.
<4> Sonst (also in allen anderen Fällen, die bisher noch nicht vorkamen, hier für 5 und 6) führe wieder den nachfolgenden Block aus.
In diesem Beispiel wird der Satz "Wird langsam knapp!" ausgegeben, da weder die erste, noch die zweite Bedingung erfüllt wird, wohl aber die Bedingung, dass 4 kleiner als 5 ist. Wurde eine Bedingung erfüllt, werden alle nachfolgenden Bedingungen nicht mehr überprüft.
So gibt das nachfolgende Beispiel wieder den Satz "Wird langsam knapp!" aus, obwohl hier als Note eine 3 übergeben wird. Im oberen Beispiel wäre hier "Ist in Ordnung" erschienen.
[ indent=0]
----
int note = 3;
if (note < 2) {
System.out.println("Super");
} else if (note < 5) { // <1>
System.out.println("Wird langsam knapp!");
} else if (note < 4) { // <2>
System.out.println("Ist in Ordnung");
} else {
System.out.println("Hmm, vielleicht mal Hausaufgaben machen?");
}
----
<1> Diese Bedingung wird von der 3 erfüllt, also wird der Satz "Wird langsam knapp" ausgegeben.
<2> Auch diese Bedingung wird von der 3 erfüllt. Allerdings gelangt die Progammausführung gar nicht mehr bis zu dieser Stelle, da bereits die Bedingung davor schon erfüllt wurde.