Strutture cicliche in Java
Le strutture cicliche in Java eseguono un blocco di istruzioni più volte. Sono anche dette strutture iterative.
- Esistono due tipi di cicli
- Ciclo determinato. Esegue un numero determinato e finito di cicli. Non è legata a nessun'altra condizione di controllo.
- Ciclo indeterminato. Esegue un numero indeterminato di cicli perché è legata a una condizione di controllo.
In Java posso usare tre istruzioni per costruire le strutture iterative: FOR, WHILE e DO.
L'istruzione FOR
L'istruzione FOR crea un ciclo determinato ossia esegue un blocco di istruzioni per N volte.
La sintassi
for ( inizio; condizione; incremento ) {
istruzioni;
}
- Inizio. Il primo parametro inizializza la variabile contatore assegnandola a un valore iniziale ( es. i=0 )
- Condizione. Il secondo parametro fissa la condizione di controllo, in genere è legato alla variabile contatore ( es. i<10 ).
- Incremento. Il terzo parametro indica l'incremento della variabile contatore al termine di ogni ciclo ( i++ ).
Un esempio pratico
Con questo codice stampo sullo schermo i numeri da 0 a 9.
La variabile i è il contatore del ciclo.
Inizialmente è assegnata a zero (i=0).
Se (i<10) l'istruzione FOR esegue il ciclo e incrementa il contatore di +1 ( i++ ).
Il ciclo termina quando i diventa uguale a 10.
Output
0
1
2
3
4
5
6
7
8
9
L'istruzione WHILE
L'istruzione WHILE crea un ciclo indeterminato.
Il blocco di istruzioni viene eseguito per un numero di volte indefinito a priori.
L'iterazione si interrompe soltanto quando l'espressione di controllo diventa falsa.
Nota. L'espressione di controllo è posta all'inizio del ciclo. Quindi il blocco di istruzioni potrebbe anche non essere eseguito nemmeno una volta.
L'istruzione DO WHILE
L'istruzione DO WHILE esegue il blocco di istruzioni per un numero indefinito di volte.
La struttura DO WHILE è simile alla struttura WHILE.
Tuttavia, in questo caso l'espressione di controllo è posta alla fine del ciclo.
Quindi la struttura DO WHILE esegue il blocco di istruzioni almeno una volta o più.
Esempio. Se l'espressione di controllo è falsa, il blocco di istruzione viene comunque eseguito una volta.