La selezione
Istruzioni condizionali
If...else
Se una condizione è vera eseguo le istruzioni all'interno dell'if, altrimenti eseguo ciò che sta dentro all'else. La sua sintassi può variare in base ai casi. Per esempio possiamo avere:
- if( condizione ) { }
- if( condizione ) { } else { }
- if( condizione ) { } else if( condizione ) { } else { }
Ora mettiamo in pratica il secondo caso, tenendo conto di avere ricevuto in input un numero:
if(x>0) System.out.println("Il numero è positivo.");
else System.out.println("Il numero è negativo o nullo.");
Se il numero inserito è maggiore di zero allora esegue l'istruzione dell'if, altrimenti esegue l'istruzione dell'else. Nel nostro esempio abbiamo omesso le parentesi graffe perché if ed else eseguono entrambi un'unica istruzione.
Il controllo di uguaglianza viene effettuato con l'operatore == (uguale-uguale) anziché l'uguale (=). Ad esempio: if( num==2 ) { }
Due if si dicono annidati quando uno racchiude l'altro:
if(x>0) {
if(x==3) { } // if annidato
}
else { } // è sottointeso if(x<=0)
Switch-case
E' analogo all'if, viene utilizzato quando ci sono molte condizioni (serve per rendere il codice più leggibile). La sua sintassi è:
switch( variabile ){ case x: break; case x: break; default: break; }
dove x è un valore numerico. Ovviamente il numero di case può variare. Nell'esempio seguente l'utente ha inserito da tastiera un valore:
switch(x){
case 1: System.out.println("Inserito il numero uno.");
break;
case 2: System.out.println("Inserito il numero due.");
break;
case 3: System.out.println("Inserito il numero tre.");
break;
case 4: System.out.println("Inserito il numero quattro.");
break;
default: System.out.println("Inserito un altro numero.");
break; }
Mettiamo caso che l'utente abbia inserito il numero tre: la stampa a video allora sarà quella relativa al case 3. L'istruzione default (che anche se non obbligatoria è consigliato mettere) viene eseguita se l'utente non inserisce un numero compreso nei case (nel nostro caso 1, 2, 3 e 4).