In den bisherigen Programmbeispielen, wurden alle Anweisungen Zeile für Zeile ausgeführt. Ein Programm soll aber auch in der Lage sein, auf unterschiedliche Situationen zu reagieren. 

Mit dem Schlüsselwort if kann man Verzweigungen einleiten. 

if (Bedingung)
{
    Anweisungen
}

Nach dem if folgt in runden Klammern eine Bedingung. Ist diese Bedingung wahr, wird die folgende Anweisung oder der folgende Block von Anweisungen ausgeführt. Bedingungen können unter anderem mit Hilfe von Vergleichsoperatoren gebildet werden. 

Einen Block von Anweisungen werden mit Hilfe von geschweiften Klammern erzeugt. 

Beispiel:

int preis = 22;

if (preis < 15)
{
    Serial.println("Das kann ich mir leisten");
}

if (preis > 15)
{
    Serial.println("So viel Geld habe ich nicht dabei");
}


In dem Beispiel wurde der Vergleichsoperator > (größer als) verwendet. 

Für den Vergleich von Zahlen gibt es sechs Vergleichsoperatoren:

Operator

Bedeutung

Beispiel

größer als

05 > 02 -> Wahr

kleiner als

32 < 12 -> Falsch

>=

größer oder gleich

23 >= 12 -> Wahr

23 >= 23 -> Wahr

<=

kleiner oder gleich

542 <= 121 -> Falsch

41 <= 41 -> Wahr

==

gleich

12 == 15 -> Falsch

!=

ungleich

12 != 15 -> Wahr





Zwei Möglichkeiten, mit if und else

Mit dem Schlüsselwort else kann man Verzweigungen erweitern. Falls die Bedingung nach dem if nicht wahr ist, so wird die Anweisung / Block von Anweisungen ausgeführt, der dem else folgt.

Beispiel:

int preis = 22;

if (preis < 15)
{
    Serial.println("Das kann ich mir leisten");
}
else
{
    Serial.println("So viel Geld habe ich nicht dabei");
}



Bedingungen kombinieren

Der Ablauf innerhalb einer Verzweigung kann auch von mehreren Bedingungen abhängig sein, die miteinander verknüpft werden. Diese Verknüpfungen können mit logischen Operatoren realisiert werden.

Logischer Operator

Erklärung

Beispiel

&&

 Falls alle Bedingungen   zutreffen sollen, dann   werden sie mit Hilfe des   Operators && verknüpft.
 Er steht für das logische Und.

 if (2 < 4 && 7 < 12)
 {
      //Beide Bedingungen sind
      //wahr.
 }

||

 Reicht dagegen eine   Bedingung aus, dann wird   der Operator || genutzt.
 Er steht für das logische Oder.

 if (4 == 2 || 8 != 3)
 {
      //Eine Bedingung ist wahr
 }

!

 Das Zeichen ! steht für das   logische Nicht. Mit diesem   Operator wird der   Wahrheitswert eine   Bedingung umgedreht.
 Aus wahr wird falsch und   umgekehrt.

 if (!(5 >= 9))
 {
        //Die Bedingung wäre              //falsch aber sie wird                //umgekehrt
 }


Anmerkung: Die Vergleichsoperatoren haben Vorrang vor den logischen Operatoren && und ||. Das bedeutet, dass zunächst der Wahrheitswert der einzelnen Bedingungen ermittelt wird. Erst anschließend werden die Bedingungen verknüpft.

Der Operator ! für das logische Nicht hat allerdings Vorrang vor den Vergleichsoperatoren. Daher wird die Bedingung in Klammern gesetzt, bevor ihr Wahrheitswert umgekehrt wird.



Zuletzt geändert: Donnerstag, 18. Februar 2021, 10:35