I cicli e le decisioni



Come nel C e come in qualunque altro linguaggio, java ha delle strutture per eseguire cicli e decisioni.
Abbiamo il ciclo "for", il ciclo "while", il ciclo "do...while", la struttura "if...else" e quella "switch...case" .

If...else

Quando si devono prendere strade diverse usiamo l' IF per verificare la veridicità di un'espressione e se questa è vera allora eseguiamo il codice dentro le graffe sotto IF altrimenti se l'espressione è falsa si esegue ciò che sta sotto ELSE (oppure non si fa nulla).
Es. if ( a < 100 ) { istruzioni; } else { altre_istruzioni; }
Se a è minore di 100 allora l'interprete esegue "istruzioni" e poi esce dal blocco decisionale
Se, invece, a non è minore di 100 ma uguale oppure maggiore allora vengono eseguite "altre_istruzioni"
Se "istruzioni" è composto da una sola istruzione possiamo omettere le graffe, lo stesso vale per l'else (mettere le parentesi non è, comunque, un errore è solo una ridondanza inutile):
Es. if (a < 100 ) a = 10; else a = 0; Nel caso in cui vogliamo semplicemente proseguire con il programma qualora la condizione fosse falsa possiamo omettere l' ELSE (sarebbe superfluo metterlo ma non sbagliato)

Switch...case

Questo blocco decisionale valuta il valore di un'espressione ed in base ad esso esegue determinate istruzioni.
La sintassi è: switch (espressione) { case valore1: istruzioni_1; case valore2: istruzioni_2; case valore3: istruzioni_3; case default: istruzioni_default; } java valuta il valore di "espressione" e :
se è uguale a valore_1 esegue istruzioni_1
se è uguale a valore_2 esegue istruzioni_2
se è uguale a valore_3 esegue istruzioni_3
se è qualunque altro valore esegue istruzioni_default
Se non si vuole che oltre alle istruzioni del case vengano eseguite anche quelle del default occorre terminare ogni case con la parola chiave break.
For

Il FOR esegue le istruzioni all'interno del blocco per un numero predefinito di volte eseguendo un'operazione, che decidiamo noi, ad ogni ciclo su una variabile (di solito incrementare o decrementare il contatore)
Es. for ( int i=0 ; i < 10; i++) { istruzioni; } Dovremmo leggere : per "i" uguale a zero fintanto che "i" minore di 10 fai "istruzioni" e incrementa "i" di 1
Cioè il ciclo viene eseguito fintchè i non è maggiore o uguale a 10 incrementando ad ogni loop il suo valore ( quindi si eseguirà il ciclo esattamente 10 volte)
La condizione, in questo caso i < 10 , può essere una qualunque espressione che abbia un valore di verità.
While

Il ciclo while viene eseguito fintanto che un'espressione (detta "di controllo") è vera.
Es. while ( a < 100 ) { istruzioni; } In questo esempio il ciclo viene ripetuto fintanto che a è minore di 100.
Notiamo che a differenza del for che incrementa da solo il contatore qua lo dobbiamo fare noi all'interno del blocco.
Inoltre è possibile che il ciclo non venga eseguito nemmeno una volta, avendo il controllo in testa, nel caso avessimo la necessità di eseguire il ciclo sempre almeno una volta useremo il seguente costrutto.
Do...while

Analogo al while per sintassi e significato, con la sola differenza che l'espressione viene controllata alla fine (si dice "controllo in coda") e quindi il ciclo viene sempre eseguito almeno una volta.
Es. do { istruzioni; }while ( a < 100 ); Come potete vedere è uguale al while!


Indietro Avanti Corso di Java Coding center Back to home