Vergleiche
Will man Entscheidungen treffen, muss man was vergleichen. Beim einem Vergleich können immer nur 2 Werte rauskommen. (Zumindest hier) Wahr oder Falsch. Und das genau brauchen wir für die Bedingungen aus unserem vorherigen Kapitel. Und was gibt's an Vergleichen:
a == b // a gleich b, Wahr, wenn beide Werte gleich sind a != b // a nicht gleich b, Wahr, wenn beide Werte nicht gleich sind. a < b // a kleiner b, wahr wenn...na ihr wißt schon a > b // hier mit größer (greater than) a <= b // kleiner oder gleich a >= b // größer oder gleich
Nun kann man die verschiedenen Vergleiche auch noch schachteln und verknüpfen. Dabei helfen Klammern () und boolsche Operatoren. (Nicht verwechseln mit den bitweisen Operatoren. Das ist einer der beliebtesten Fehler…)
&& logisches UND
|| logisches ODER
! Nicht
Beispiele:
if (digitalRead(SWITCH_1) == 0 && digitalRead(SWITCH_2) == 0) { // Wird wahr, wenn beide Schalter gedrückt sind. } if (digitalRead(SWITCH_1) == 0 || digitalRead(SWITCH_2) == 0) { // Wird wahr, wenn einer oder beide Schalter gedrückt sind. } if (digitalRead(SWITCH_1) == 0 && !digitalRead(SWITCH_2) == 0) { // Wird wahr, wenn Schalter 1 gedrückt ist und Schalter 2 eben nicht. } if ((digitalRead(SWITCH_1) == 0) && !(digitalRead(SWITCH_2) == 0)) { // Wird wahr, wenn Schalter 1 gedrückt ist und Schalter 2 eben nicht. // Ist das gleiche wie die Bedingung darüber, nur das hier die Klammerung // expliziet ausgedrückt ist. } if (((addr+1) % 16) == 0) { // Wird wahr, wenn der Rest der um 1 erhöhten Addresse dividiert mit 16 gleich 0 ist. }
Noch einen? Schreibt euch doch mal selber einen..