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:

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:

aba||ba&&b
truetruetruetrue
truefalsetruefalse
falsetruetruefalse
falsefalsefalsefalse

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:

if (kornDa() && maulLeer()) {
    nimm();
}

Ein komplexeres Beispiel:

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!