- Alex Ferri
Introduzione alla Programmazione II

OPERATORI DI COMPARAZIONE
Abbiamo visto nello scorso articolo come dichiarare variabili di ogni tipo.
Ma a cosa servono le variabili se non possiamo utilizzarle concretamente?
Ecco che, per iniziare, entrano in gioco gli operatori di comparazione.
"A cosa servono?"
Vedremo più avanti nell'articolo, come gli operatori di comparazione sono la base per costruire un "if statement", ovvero come fare eseguire una determinata porzione di codice quando una specifica condizione è vera.
Ecco la sintassi da utilizzare:
== UGUALE A
!= DIVERSO DA
> MAGGIORE DI
< MINORE DI
>= MAGGIORE o UGUALE A
<= MINORE o UGUALE A
Quando mettiamo a confronto due elementi, utilizzando gli operatori che abbiamo visto qui sopra, è utile sapere che il valore della comparazione può assumere due valori booleani: VERO o FALSO.
Facciamo un esempio con qualche numero:
2 == 2 // true
2 == 4 // false
5 != 2 // true
5 != 5 // false
6 > 2 // true
8 < 5 // false
9 >= 9 // true
8 <= 4 // false
NOTA: E' possibile utilizzare gli operatori di comparazione anche con gli altri tipi di dato:
true == true // true
false != true // true
"Ciao" == "Ciao" // true
2.3f > 2.6f // false
"Beh, a cosa ci serve sapere che sia True o False?"
Scopriamolo subito con gli if statement!
GLI IF STATEMENT
Gli if statement sono uno dei fondamenti della programmazione.
"A cosa servono principalmente?"
Beh, ci sono alcuni casi in cui vogliamo fare eseguire linee di codice solo ad una determinata condizione.
"Come si strutturano?"
Viene semplicemente racchiusa la condizione da controllare all'interno di due parentesi tonde () precedute dalla keyword "if".
Viene poi racchiuso tra due parentesi graffe {} il codice da eseguire nel caso la condizione sia vera.
if (condizione) {
// Codice da eseguire se la condizione è vera
}
Esempio pratico:
if (sonoStanco == true) {
devoDormire = true;
}
IMPORTANTE:
Notare come dentro l'if venga messo l'operatore di condizione ==, mentre dentro il blocco della condizione l'operatore di assegnazione =.
Il primo viene usato per controllare una determinata condizione, non assegna nessun valore alla variabile sonoStanco!
Mentre l'operatore = , nella seconda riga di codice, assegna un nuovo valore alla variabile booleana devoDormire.
"Se volessi controllare che una variabile è falsa?"
Attenzione, vediamo questo esempio:
if (sonoStanco == false) {
devoSvegliarmi = true;
}
Anche se nella condizione è presente un false, non vuol dire che il blocco di codice verrà eseguito quando la condizione è falsa.
Mi spiego meglio, se la variabile sonoStanco fosse davvero false,
IL RISULTATO DELLA COMPARAZIONE SAREBBE TRUE!
Proviamo infatti a sostituire sonoStanco con il suo valore effettivo (in questo caso false).
Come potete vedere false == false restituirebbe true, quindi il blocco di codice verrebbe eseguito.
if (false == false) {
devoSvegliarmi = true;
}
Else e Else if
Esistono casi in cui vogliamo che venga eseguita una determinata porzione di codice nel caso in cui la condizione sia falsa.
Come fare?
Ecco che ci viene in aiuto la keyword else.
"Come si struttura?"
Viene semplicemente messa la keyword else tra la fine del blocco della prima condizione e l'inizio del secondo blocco.
Esempio:
if (x >= 0) {
// Viene eseguito se x è maggiore o uguale a zero
Console.WriteLine("Il numero è positivo");
} else {
// Viene eseguito se la condizione è falsa, ovvero se x < 0
Console.WriteLine("Il numero è negativo");
}
Come possiamo vedere nell'esempio qui sopra, verifichiamo dentro il nostro if statement che la variabile x sia maggiore o uguale a zero.
Nel caso la condizione fosse vera, verrà mostrato in console che il numero è positivo, altrimenti (else) verrà mostrato che il numero è negativo.
NOTA: Console.WriteLine() è una funzione del linguaggio C# che serve a mostrare in console una determinata stringa.
Non preoccuparti, vedremo presto cosa sono le funzioni!
"A che cosa serve allora l'else if?"
Bisogna sapere che è possibile concatenare diverse condizioni attraverso l'uso parallelo di if, else if e else.
if (oggi == "Lunedì") {
Console.WriteLine("Il peggior giorno della settimana!!!!");
} else if (oggi == "Venerdì") {
Console.WriteLine("Il Venerdì si festeggia!");
} else if (oggi == "Domenica") {
Console.WriteLine("La Domenica è triste :(");
} else {
Console.WriteLine("E' un giorno ok...");
}
Come possiamo vedere nell'esempio sopracitato, verifichiamo inizialmente che la stringa oggi sia uguale a "Lunedì".
Nel caso la condizione fosse falsa, andremo a controllare che la stringa oggi sia uguale a "Venerdì'", e così via.
Nel caso tutte le condizioni fossero false, verrà eseguita la porzione di codice dentro al blocco dell'ultimo else.
NOTA: Il codice dell'esempio potrebbe essere sostituito e reso più "pulito" attraverso lo switch statement, che vedremo nei prossimi articoli.
Direi che per oggi è tutto!
Scrivete nei commenti qualsiasi dubbio abbiate.
Nel prossimo Insider vedremo gli operatori logici, utili per verificare due o più condizioni nello stesso if.