Wie funktionieren if/else-Befehle? Wie verwenden Sie sie in Ihrem Programm?

Mit der if-Funktion können Sie Code ausführen, wenn die Bedingung erfüllt ist. Mit der else-Funktion können Sie Code ausführen, wenn die Bedingung nicht erfüllt ist. Schließlich können Sie mit der else-if-Funktion eine zweite Bedingung vorschlagen, um zu prüfen, ob die erste if-Bedingung nicht erfüllt ist. Wir werden uns das alles nach und nach ansehen.

Bedingung, wenn

Mit der if-Bedingung können Sie einen Teil Ihres Programms unter einer Bedingung testen: Wenn diese erfüllt ist, wird der Code ausgeführt, andernfalls wird das Programm fortgesetzt.

if (Bedingung) {
//Ihr Code
}

Wir sehen, dass die if-Funktion eine boolesche Bedingung als Parameter akzeptiert: entweder falsch oder wahr.

Sehen wir uns ein Beispiel für eine wahre Bedingung an:

if (7>5) {
Serial.println("Ihr Code");//Ihr Code
}

Wenn Sie 7 größer als 5 setzen, ist die Bedingung erfüllt, sodass die Codezeilen in den Klammern ausgeführt werden. Wenn Sie die Bedingung zurückgeben, z. B. 7 < 5, wird die Bedingung falsch, sodass alles zwischen den Klammern nicht ausgeführt wird.

Wie schreibe ich die Bedingung?

Die Bedingung für die if-Anweisung kann schwierig zu formulieren sein, insbesondere bei all den vorhandenen Operatoren. Wir empfehlen unseren Kurs zu mathematischen Funktionen für eine vollständige Tabelle aller auf Arduino verwendbaren Operatoren!

Sonst-Bedingung

Die else-Anweisung wird verwendet, wenn die if-Bedingung falsch ist. Sie ist eine Alternative zur if-Anweisung. Wird die if-Anweisung nicht ausgeführt, wird die else-Anweisung ausgeführt.
Hier ein Beispiel für die else-Anweisung:

if (Bedingung) { // Wenn die Bedingung erfüllt ist
}
else { // Wenn die Bedingung nicht erfüllt ist
}

Hier ist ein Beispiel, bei dem die if-Bedingung falsch ist, damit das Programm im else-Modus ausgeführt wird:

if (7<5) {
Serial.println("if"); // Code nicht ausgeführt, da Bedingung falsch ist
}

else {
Serial.println("else"); // Code ausgeführt
}

Wie Sie gesehen haben, hat die else-Anweisung keine Bedingung und wird daher immer ausgeführt, wenn die if-Anweisung falsch ist. Sie können eine weitere if-Anweisung erstellen, um eine zweite Bedingung zu testen. Hierfür gibt es das „else if“.

Else if

Mit dem „else if“ können Sie nach dem ersten if eine zweite Bedingung prüfen. Das „else if“ wird wie das einfache if nur ausgeführt, wenn die Bedingung erfüllt ist. Sie können beliebig viele „else if“ einfügen:

if (Bedingung1) {
// Der Code für das if
}
else if (Bedingung2) {
// Der Code für das erste else if
}
else if (Bedingung3) {
// Der Code für das zweite else if
}
else {
// Der Code, der nur ausgeführt wird, wenn die if- und elif-Bedingungen falsch sind.
}

Hier ist ein Beispiel mit realen Bedingungen zum besseren Verständnis im Detail:

if (4==3) { // Bedingung falsch
Serial.println("if"); // Der Code in der if-Anweisung wird nicht ausgeführt.
}
else if (4<2) { // Bedingung falsch
Serial.println("erstes elif"); // Der Code im ersten else if wird nicht ausgeführt.
}
else if (4>2) { // Bedingung wahr
Serial.println("zweites elif"); // Der Code im zweiten else if wird ausgeführt.
}
else {
Serial.println("else"); // Der Code wird nicht ausgeführt.
}

Wie Sie hier sehen, wird das zweite „else if“-Statement ausgeführt, da die Bedingungen davor falsch sind.

Wenn Sie jedoch viele „else if“-Statements einfügen müssen, bietet sich der Switch-Case als Alternative an.

Bonus : switch case

Mit dem Switch-Case können Sie mehrere Bedingungen testen und so saubereren Code erstellen als mit mehreren if- oder else-if-Anweisungen. Der Switch-Case ersetzt if- und else-if-Anweisungen nicht in allen Fällen, sondern wird fallweise behandelt.

Wir verwenden eine Variable, die eine Ganzzahl, einen String oder einen Booleschen Wert enthält. Mit dem Wort „Case“ können wir unterscheiden, was das Programm tun soll, wenn die Variable Bedingung 1 oder 2 erfüllt. Erfüllt die Variable keinen der Fälle, wird der Standardcode ausgeführt.

Hier ein Beispiel:

switch (var) {
case your_condition1:
//Code für Bedingung 1
break;
case your_condition2:
//Code für Bedingung 2
break;
default:
//Code, der ausgeführt wird, wenn das Programm keinen case-break; eingibt.
}

Hier ist ein Beispiel, um den Switch-Case besser zu verstehen:

int var=1;
switch (var) {
Fall 1:
Serial.println("Bedingung 1"); // Auszuführender Code
break;
Fall 2:
Serial.println("Bedingung 2");
break;
Standard:
Serial.println("Standard"); // Auszuführender Code, wenn das Programm keinen Fall eingegeben hat
break;
}

Hier wird die Variable var mit jedem Feld verglichen, um zu ermitteln, welcher Code ausgeführt werden soll. Hier ist die Variable var gleich 1, daher wird der Code für Feld 1 ausgeführt.