If ist eine der wichtigsten Strukturen in den meisten Programmiersprachen. Schreibt man ein if() vor eine Anweisung, kann man dafür sorgen, dass sie nur unter eine bestimmten Bedingung ausgeführt wird. Das folgende „Kopf“ oder „Zahl“-Programm zeigt dir, wie das geht:
Um im if
-Befehl Bedingungen abfragen zu können, benötigt man vergleichende Operatoren 1):
x == y // x aht den gleichen Wert wie y (logisches gleich) x != y // x hat nicht den gleichen Wert wie y (logisches ungleich) x < y // x ist kleiner als y x > y // x ist größer als y x <= y // x ist kleiner oder gleich y x >= y // x ist größer oder gleich y
Wichtiger Unterschied:
int x = 5; // dieses einfache Gleichheitszeichen deklariert eine // Variable und weist ihr einen Wert zu if ( x == 5 ) { // das doppelte Gleichheitszeichen überprüft, ob die beiden werte gleich sind. // das Ergebnis der Überprüfung ist "wahr" oder "falsch". // some code }
Schreibweise: Werden hinter if() mehrere Anweisungen in einen Block zusammen gefasst, so rückt man diese normalerweise einige Leerzeichen weit ein. Du kannst das durch einen Druck auf Strg+t aber auch automatisch machen lassen.
Schreibe ein Schere-Stein-Papier-Programm. Es soll nach jedem Druck auf den Reset-Knopf zufällig eines der drei Worte „Schere“, „Stein“ oder „Papier“ auf dem seriellen Monitor anzeigen. Eine Möglichkeit wäre, eine Zufallszahl zu erzeugen. Wenn sie 1 ist, wird „Schere“ angezeigt, bei einer 2 „Stein“, bei einer 3 „Papier“.
Hinter if kann man noch ein else schreiben. Der auf else folgende Block wird nur ausgeführt, wenn der mathematische Ausdruck in if nicht wahr war. Was wird also dieses Programm mit einer LED an Pin 9 tun?
long i=1; void setup(){ } void loop(){ if(i<100000){ analogWrite(9,100); } else { analogWrite(9,255); } i=i+1; }