Arduino – Bedingte Ausführung

Unser Programm kann manchmal mit mehreren Optionen ausgeführt werden, wir können diese bedingt machen, und das Programm führt die entsprechenden Anweisungen aus, wenn die Bedingungen erfüllt sind.

if-Statement 

Die if-Statement prüft, ob die Bedingung erfüllt ist. Wenn true, führen Sie die Anweisung aus. Geschweifte Klammern können nach der if-Statement weggelassen werden, wenn nur eine bedingte Anweisung ausgeführt werden muss. Das Semikolon zeigt das Ende der Anweisung an. Ich empfehle jedoch trotzdem, geschweifte Klammern zu verwenden, da dies den Code transparenter macht. Wenn Sie dem Block später weitere Anweisungen hinzufügen möchten, benötigen Sie diese. Achten Sie darauf, einen Vergleichsoperator in der Bedingung zu verwenden. Wenn wir versehentlich ein Gleichheitszeichen „=“ verwenden, handelt es sich um eine Einzelwertzuweisung, und die Bedingung ist immer wahr. Sie können die if-Statement auch selbst verwenden.

int a = 10;

if(a == 10) 
{
  // Anweisung , wenn Bedingung ist wahr
}

else-Statement 

Nach der if-Statement können Sie eine optionale else-Statement angeben, die ausgeführt wird, wenn der Ausdruck false ist.

int a = 10;

if(a == 10)
{
  // Anweisung , wenn Bedingung ist wahr
}
else
{
  // Anweisung , wenn Bedingung ist falsch
}

else if-Statement

Nach der „if“ -Statement können Sie auch eine optionale „else if“ -Statement angeben, wenn Sie mehrere verschiedene Bedingungen untersuchen möchten. Sie können eine beliebige Anzahl von „else if“ -Zweigen angeben, während „if“ und „else“ nur eine sein können.

int a = 8;

if(a <= 10)
{
  // wenn erste Bedingung ist wahr
}
else if(a > 10)
{
  // wenn zweite Bedingung ist wahr
}

Wir können auch die Kombination „if – else if – else“ schreiben, damit wir mehrere Bedingungen in den Abschnitten „if – else if“ untersuchen können. Wenn keine davon wahr ist, wird der Codeblock „else“ ausgeführt.

int a = 8;

if(a <= 10)
{
  // wenn "a" kleiner oder gleich als 10 ist
}
else if(a > 10 && a <= 20)
{
  // wenn "a" zwischen 11 und 20 liegt
}
else if(a > 20 && a <= 30)
{
  // wenn "a" zwischen 21 und 30 liegt
}
else
{
  // wenn keine der Bedingungen erfüllt ist 
}

switch case

Ähnlich wie bei den Anweisungen „if-else if-else“ ist auch der „switch case“ eine Kontrollstruktur. Manchmal müssen Sie dieselbe Variable mit mehreren unterschiedlichen Werten vergleichen und je nach Wert der Variablen unterschiedlichen Code ausführen.

Es vergleicht den Wert der Variablen, die in der Bedingung „switch“ angegeben ist, mit dem Ausdruck, der nach dem Tag „case“ angegeben ist. Wechselt von der Anweisung zur Anweisung zum „Umschalten“. Eine Anweisung wird nur ausgeführt, wenn sie einen „case“ -Ausdruck findet, der dem Wert der in der „switch“ -Bedingung angegebenen Variablen entspricht. Anschließend werden die Anweisungen weiter ausgeführt, bis das Ende des „Switch“ -Blocks erreicht ist oder eine „Break“ -Anweisung auftritt. Wenn keines der „case“ -Tags übereinstimmt, wird die „default“ -Taganweisung ausgeführt.

switch (myVar) 
{
  case label1:
    // statements
    break;
  case label2:
    // statements
    break;
  default:
    // statements
    break;
}

? : bedingter Operator

Der bedingte Operator “? : ”Hat drei Operanden. Von den Begriffen auf beiden Seiten des Doppelpunkts wird immer nur einer ausgewertet.

(Bedingung) ? (wahre_Ausdruck) : (falsche_Ausdruck);

Zuerst wird die „Bedingung“ ausgewertet. Wenn ihr Wert wahr ist, wird der „wahre_Ausdruck“ ausgewertet und der „falsche_Ausdruck“ ignoriert. 

(wahr) ? (wird ausgewertet) : (wird nicht ausgewertet);

Wenn die „Bedingung“ falsch wird, wird der „wahre_Ausdruck“ ignoriert und der „falsche_Ausdruck“ ausgewertet. 

(falsche) ? (wird nicht ausgewertet) : (wird ausgewertet);

Das Ergebnis ist der Wert „wahre_Ausdruck“ oder „falsche_Ausdruck“, je nachdem, ob die „Bedingung“ wahr oder falsch ist.


myVariable = (Bedingung) ? (wahre_Ausdruck) : (falsche_Ausdruck);

Der nächste Abschnitt befasst sich mit Zyklen.