Reference   Language | Libraries | Comparison | Changes

if / else

if/else erlaubt eine stärkere Kontrolle über den Ablauf eines Programms als der if-Befehl. Gleichzeitig besteht die Möglichkeit mehrere Abfragen zu einer Gruppe zusammenzufassen. Beispielsweise kann eine analoger Input abgefragt werden und eine bestimmte Aktion durchgeführt werden, wenn der Eingangswert kleiner als 500 ist. Eine andere Aktion wird dann durchgeführt, wenn der Eingangswert 500 oder größer ist. Der Code dafür würde wie folgt aussehen:

if (pinFiveInput < 500)
{
  // Aktion A
}
else
{
  // Aktion B
}

else kann eine weitere if-Abfrage enthalten, sodass mehrere, sich gegenseitig nicht beeinflussende, Abfragen gleichzeitig ablaufen können.

Jeder Test wird solange an die nächste Abfrage weitergeleitet, bis eine TRUE-Antwort auftritt. Bei einer TRUE-Antwort auf eine Abfrage wird der zugehörige Block durchlaufen und das Programm springt zu der Zeile, die der der if/else-Abfrage folgt. Wird keine Anfrage mit TRUE beantwortet, wird, wenn einer vorhanden ist, der else-Block abgearbeitet, und danach das Programm fortgesetzt.

Es ist zu beachten, dass ein else if block mit oder ohne einen angehängten else-Block verwendet werden kann und umgekehrt. Die Anzahl der verwendeten else if-Blöcke ist nicht begrenzt.

if (pinFiveInput < 500)
{
  // tue Vorgang A
}
else if (pinFiveInput >= 1000)
{
  // tue Vorgang B
}
else
{
  // tue Vorgang C
}

Ein anderer Weg um Verzweigungen zu programmieren, die sich gegenseitig ausschließen, ist ein switch case-Befehl zu verwenden.

Siehe auch:

switch case Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

Share