Istruzione continue in Java
- L'istruzione
continue
in Java permette di saltare l'iterazione corrente di un ciclo e passare direttamente alla successiva. - È utile per gestire condizioni particolari senza interrompere completamente il ciclo, consentendo di evitare l'esecuzione di codice non necessario in determinate iterazioni.
Istruzione continue
A volte è utile forzare un'iterazione anticipata di un ciclo.
In altre parole, può rendersi necessario proseguire l'esecuzione del ciclo ma interrompere l'elaborazione del resto del codice nel corpo per la sola iterazione in corso. In pratica si ottiene un goto
che salta direttamente oltre il corpo del ciclo, arrivando alla fine dello stesso.
L'istruzione continue
esegue proprio questa operazione. Nei cicli while
e do-while
, un continue
trasferisce il controllo direttamente all'espressione condizionale che governa il ciclo. In un ciclo for
, il controllo passa prima alla sezione d'incremento dell'istruzione for
e poi all'espressione condizionale. In tutti e tre i casi, qualsiasi codice intermedio viene ignorato.
Ecco un programma di esempio che usa continue
per fare in modo che vengano stampati due numeri per riga:
// Dimostrazione di continue.
class Continua {
public static void main(String[] argomenti) {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
System.out.print(i + " ");
continue;
}
System.out.println(i);
}
}
}
Questo codice utilizza l'operatore %
per verificare se i
è pari. Se lo è, il ciclo prosegue senza stampare il carattere di andata a capo.
Output del programma:
0 1
2 3
4 5
6 7
8 9
Analogamente a break
, continue
può specificare un'etichetta che indica quale ciclo più esterno deve continuare. Di seguito è riportato un programma che utilizza continue
per stampare una tabella di moltiplicazione triangolare da 0 a 9:
// Uso di continue con un'etichetta.
class ContinuaEtichetta {
public static void main(String[] argomenti) {
esterno: for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j > i) {
System.out.println();
continue esterno;
}
System.out.print(" " + (i * j));
}
}
System.out.println();
}
}
In questo esempio l'istruzione continue
interrompe il ciclo che conta j
e prosegue con l'iterazione successiva del ciclo che conta i
.
Output del programma:
0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81
L'impiego di continue
è raro. Una delle ragioni è che Java fornisce un set completo d'istruzioni di ciclo adatte alla maggior parte delle applicazioni. Tuttavia, per quelle circostanze particolari in cui serve un'iterazione anticipata, l'istruzione continue
offre un modo strutturato per ottenerla.