Operatore condizionale if.

L'operatore condizionale if ("se") permette di diramare l'esecuzione del programma a seconda dei valori logici, ovvero i risultati degli operatori di confronto, oltre che direttamente dalle variabili booleane.
if (booleano) 
     // eseguito se booleano è true
}

L'operatore condizionale else ("altrimenti ") funziona in tandem con l'istruzione if e consente di fornire un'azione nel caso in cui l'if non venga eseguito:
if (booleano ) 
      // eseguito se booleano è - true
else 
      // eseguito se booleano è - false
}

C'è anche un terzo costrutto che ti permette di ramificare ancora di più il codice, 
viene chiamato else if (altrimenti se):
if (booleano1) 
{ 
     // eseguito se booleano1 - true
else if (booleano2) 
{
     // eseguito se booleano2 - true
else 
{ 
     // eseguito in modo diverso 
}

Vediamo tutti questi operatori in azione:

if(a > b) c = 5; // se a è maggiore di b, allora c = 5
else c = 7; // se no, allora c = 7
Quando si esegue un'azione all'interno della condizione, {} sono facoltativi.

Invece del confronto, puoi usare una variabile booleana
boolean myFlag1; 
boolean myFlag2;
if (myFlag1) c = 5; // se myFlag1 è true, imposta c su 5
if (myflag1 && myFlag2) c = 5; // se entrambi i flag sono veri, imposta c su 5

Quando si eseguono due o più azioni all'interno della condizione, {} sono obbligatori.
if (myFlag1) 
     a = 5; 
     b = a;
else 
     a = 7; 
     b = a;


byte btnState;
if (btnState == 1) a = 5;  // se btnState è uguale a 1 a = 5
else if (btnState == 2) a = 7;  // se no, ma se btnState è uguale a 2 a = 7
else a = 32; // se questo non è true, allora a = 32

Ecco come funziona l'istruzione if, che consente di controllare il programma e creare azioni ramificate a seconda delle diverse condizioni.

Caratteristica booleana - boolean restituisce true se gli si assegna un numero diverso da zero, il che significa che qualsiasi numero può essere inserito nell'operatore condizionale if e restituirà true in ogni caso tranne zero. 
Questo è utile in alcuni casi, ma può anche portare a bug difficili da rilevare.

Ordine delle condizioni - l'ordine delle condizioni gioca un ruolo molto importante nell'ottimizzazione del codice e nel tentativo di renderlo più veloce in alcuni casi. L'essenza è molto semplice: le espressioni/valori logici vengono controllati da sinistra a destra e se almeno un valore rende l'intera espressione errata (false), l'ulteriore verifica delle condizioni si interrompe. Ad esempio, se nell'espressione:
if (a && b && c) 
     // fare qualcosa
}
Anche se a è falso, le restanti espressioni (b e c) non vengono più verificate. Quando può essere importante: ad esempio, c'è una sorta di flag e un'espressione che viene calcolata direttamente nella condizione e viene immediatamente verificata. In questo caso, se il flag viene omesso, il microcontrollore non perderà tempo in calcoli inutili. Per esempio:
if (flag && analogRead(0) > 500) 
     // fare qualcosa
}
Se il flag viene omesso, il microcontrollore non impiegherà ulteriori 100 µs lavorando con l'ADC e ignorerà immediatamente il resto delle espressioni logiche. Questo è ovviamente molto picco, ma a volte decide anche 100 µs, ricorda solo che l'ordine delle condizioni è importante.
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia