04 if e switch – Costrutti Condizionali

Benvenuti in questo nuovo articolo in cui vedremo un altro caposaldo della programmazione Java, i costrutti condizionali. Essi, insieme alle già viste variabili, e ai cicli (che vedremo nella prossima guida) rappresentano una sorta di “santa trinità” del linguaggio Java.

Cosa sono i costrutti condizionali?
Delle istruzioni che utilizziamo per fare delle scelte all’interno del programma.

IF
Facciamo subito un esempio molto semplice iniziando a spiegare il primo dei due costrutti condizionali ce vedremo, l’if. Ipotiziamo di avere due numeri e di volerne fare la divisione. Vogliamo però controllare che il denominatore sia diverso da 0. Se è diverso da 0 eseguirò la divisione altrimenti non faccio nulla.
Tradotto in codice

int numeratore=4;
int denominatore=2;
int risultato;
if(denominatore!=0)
        risultato=numeratore/denominatore;

Credo di non poter fare un esempio più chiaro di questo.
La sintassi generale da usare per if è la seguente:

if(condizione/i)
{
comandi che voglio eseguire se la condizione è verificata, cioe true
}
else
{
comandi che voglio eseguire se la condizione NON è verificata cioè false
}

NB: le due parentesi graffe si possono non scrivere se if agisce su una sola istruzione come nell’esempio sopra e stesso discorso per else, altrimenti sono obbligatorie!
Cioè:

if(condizione/i)
comando che voglio eseguire se la condizione è verificata, cioe true
else
comando che voglio eseguire se la condizione NON è verificata cioè false

Per saperne di più su come scrivere le condizioni all’interno dell’if vi rimando ad un articolo dedicato che ho scritto solo per questo argmento in modo da trattarlo in maniera più specifica e per non annoiare chi già conosce l’argomento e vuole andare avanti ad imparare la sintassi di Java, “algebra booleana e condizioni” che verrà pubblicato prossima settimana.

SWITCH
Lo “switch” è una funzione che possiamo utilizzare quando abbiamo una serie di alternative che dipendopo dal valore di un’unica variabile.
Facciamo subito un’esempio:

int n;
//... ad n è stato assegnato un valore casuale
switch(n)
{
        case 1:
                //istruzioni che eseguo se n=1
        break;//segna la fine del case 1
        case 4:
                //istruzioni che eseguo se n=4
        break;//segna la fine del case 4
        default:
                //istruzioni che eseguo se n diverso sia da 1 che da 4
        break;//segna la fine del default, potrei anche non metterlo
}

Osservazioni:

  1. Il default finale potrei anche non metterlo (se ad esempio voglio che non venga fatto niente in caso n sia diverso sia da 1 che da 4).
  2. Si deve mettere obbligatoriamente il break alla fine delle istruzioni che vogliamo eseguire in ciascun case altrimenti lo switch eseguirà anche i case successivi perché non saprebbe dove finisce ciascun di essi.
  3. Nell’esempio sopra ho usato una variabile int, ma lo stesso discorso vale per gli altri tipi di variabili. Se fosse stata una string avremmo avuto diverse stringhe per ciascun case.

La sintassi generale dello switch è la seguente

switch (variabile di cui lo switch confronterà il valore con i vari case)
{
case primovalore:
//istruzioni da eseguire se la variabile tra parentesi è uguale a primovalore
break;
case secondovalore:
//istruzioni da eseguire se la variabile tra parentesi è uguale a secondovalore
break;
default:
//istruzioni da eseguire se la variabile tra parentesi non è uguale a nessun case
}

Chiudo qui questo lungo capitolo.
Ho cercato di spiegare nella maniera più chiara e semplice possibile ma se avete dubbi o suggerimenti costruttivi su come migliorare le guide scrivetemi nei commenti.
Se vi è piaciuto l’articolo lasciate un mi piace e condividetelo o suggerite il nostro sito ad altri amici a cui potrebbe interessare.
Alla prossima!

Please follow and like us: