Condizioni e selezioni.
// ========= CONDIZIONI ==========
// Leggi di più qui.
// === Confronto e logica ===
/*
== uguale
!= non uguale
>= maggiore o uguale
<= minore o uguale
! NOT
&& AND
|| OR
*/
// === if-else ===
// quando si esegue un'azione {} sono facoltativi
if (a > b) c = 10; // se a è maggiore di b, allora c = 10.
else c = 20; // se no, allora c = 20.
// invece del confronto, puoi usare una variabile booleana.
boolean myFlag, myFlag2;
if (myFlag) c = 10;
/*
condizioni complesse
se entrambi i flag sono true - c = 10
*/
if (myflag && myFlag2) c = 10;
// quando si eseguono due o più azioni, {} è obbligatorio
if (myFlag)
{
с = 10;
b = c;
}
else
{
с = 20;
b = a;
}
// else if
byte state;
if (state == 1) a = 10; // se state 1.
else if (state == 2) a = 20; // se no, ma se state 2.
else a = 30; // se questo non è vero, allora.
// === L'operatore ternario (?) ===
// Versione più breve del costrutto if-else
int с = (a > b) ? 10 : -20; // se a > b, allora c = 10. In caso contrario, allora c = -20
Serial.println( (flag) ? ("flag true") : ("flag false") );
// === Operatore di selezione switch
===
switch (val)
{
case 1:
// esegui se val == 1
break;
case 2:
// esegui se
val == 2
break;
default:
// eseguire se val non è né 1 né 2
// default opzionale
break;
}
// Operatore break è molto importante, ti consente di uscire dal switch.
// Può essere utilizzato in questo modo:
switch (val)
{
case 1:
case 2:
case 3:
case 4:
// esegui se val == 1, 2, 3 o 4
break;
case 5:
// esegui se
val == 5
break;
}