Il ciclo for fornisce un meccanismo per eseguire ripetutamente un gruppo di istruzioni finché non viene soddisfatta una condizione. Il ciclo è composto da quattro parti:
for (initialization; test; update) {
body;
}
L'initialization imposta uno stato iniziale per il ciclo e viene eseguita esattamente una volta all'inizio del ciclo.
Di solito dichiara e assegna una variabile usata nell'espressione di test e nell'istruzione di aggiornamento.
Per esempio:
int i = 1
L'espressione test verifica se il ciclo deve terminare.
Se il risultato è true, verranno eseguiti prima il corpo e poi l'espressione di aggiornamento.
Se il risultato è false, non verranno eseguiti né il corpo né l'istruzione di aggiornamento, e l'esecuzione riprende dopo la parentesi graffa di chiusura del ciclo.
Di solito verifica la variabile assegnata nel blocco di inizializzazione.
Per esempio:
i <= 10
Dopo aver eseguito il corpo del ciclo, viene eseguita l'espressione update.
Di solito incrementa o decrementa la variabile del ciclo di un certo valore.
Per esempio:
i++
Un ciclo for che stampa i primi quattro quadrati sarebbe così:
for (int i = 1; i <= 4; i++) {
System.out.println(i * i);
}
/* =>
1
4
9
16
*/
Se devi iterare su ogni elemento di una collezione, è preferibile un ciclo for-each, ma puoi farlo anche con un ciclo for in questo modo:
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
}
Un ciclo for ha comunque alcuni vantaggi rispetto a un ciclo for-each:
for in scenari che non coinvolgono collezioni.