Fachkonzept: Bedingung
Bedingungen prüfen auf die Wahrheitswerte "Ja" und "Nein" (auf englisch und im Programmcode true
bzw. false
). Bedingungen können mit dem !
-Operator negiert (umgekehrt) werden.
Die Verzweigung unten kann gelesen werden als:
- Ist dein Maul nicht leer? Dann gib ein Korn ab!
if (!maulLeer()) { gib(); }
Komplexe Bedingungen
Oft müssen mehrere Bedingungen miteinander verknüpft werden, um das gewünschte Ergebnis zu erzielen. Hierzu gibt es die Operatoren &&
und ||
, die für und bzw. oder stehen.
Um diese komplexen Bedingungen etwas besser zu verstehen, hilft die folgende Tabelle:
a | b | a||b | a&&b |
---|---|---|---|
true | true | true | true |
true | false | true | false |
false | true | true | false |
false | false | false | false |
Was ist hier passiert? Die beiden Spalten a||b
(gelesen "a oder b") und a&&b
(gelesen "a und b") werden in Abhängigkeit von sowohl a
als auch b
"berechnet".
a||b
ist wahr, wenn eben a oder b wahr sind. a&&b
ist nur dann wahr, wenn sowohl a als auch b wahr sind. Etwas klarer machen das die beiden folgenden Beispiele:
Ein einfaches Beispiel:
- Ist ein Korn da und ist dein Maul leer? Dann nimm das Korn.
if (kornDa() && maulLeer()) { nimm(); }
Ein komplexeres Beispiel:
- Ist dein Maul leer und ist entweder vorn nicht frei oder ein Korn da? Dann tu was!
if (maulLeer() && (!vornFrei() || kornDa())) { // Tu was spannendes! }
Mehr Informationen zu Bedingungen findet ihr in den Kapiteln "Aussagenlogik" ab S. 41 und "Auswahlanweisungen" ab S.105 im Hamster-eBook!