Il ciclo do-while in Java ti permette di eseguire le istru­zio­ni pro­gram­ma­te fino al rag­giun­gi­men­to di una con­di­zio­ne di in­ter­ru­zio­ne definita. È anche possibile combinare questo ciclo con altre funzioni.

Che cos’è un ciclo do-while?

Il ciclo do-while è uti­liz­za­to in Java per eseguire un’istru­zio­ne e ripeterla finché è sod­di­sfat­ta una con­di­zio­ne di in­ter­ru­zio­ne definita, ossia finché rimane “true” (vera). La maggior parte dei linguaggi di pro­gram­ma­zio­ne dispone di cicli simili che sono uti­liz­za­ti per eseguire più volte de­ter­mi­na­ti blocchi di codice. È anche possibile combinare questo ciclo con altre funzioni. In Java, il ciclo do-while è una variante del consueto ciclo while.

La sintassi del ciclo do-while in Java

La sintassi del ciclo do-while in Java si presenta sempre nel modo seguente:

do {
	//Istruzioni
}
while(requisito);
java

Il ciclo inizia quindi con la parola chiave “do”. A seguire sono indicate le istru­zio­ni o l’istru­zio­ne che il programma deve eseguire. Dopo la parentesi si trova la seconda parola chiave “while”, che ini­zia­liz­za la con­di­zio­ne di in­ter­ru­zio­ne. Questa con­di­zio­ne è sempre formulata come espres­sio­ne booleana e può essere quindi “true” (vera) o “false” (falsa) nella logica del programma. Un esempio pratico e ben noto di espres­sio­ne di questo tipo è quello di una variabile numerica che permette di con­trol­la­re la frequenza di ri­pe­ti­zio­ne dell’ese­cu­zio­ne.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

Fun­zio­na­men­to del ciclo

Se ora fai partire il ciclo do-while in Java, il programma prende in con­si­de­ra­zio­ne le istru­zio­ni scritte nel corpo del ciclo e le esegue. Una volta com­ple­ta­to, il programma verifica la con­di­zio­ne di in­ter­ru­zio­ne. Se è “true” (ossia non ancora sod­di­sfat­ta), il ciclo riparte dall’inizio e ripete tutte le istru­zio­ni fino a un nuovo controllo. Non appena la con­di­zio­ne di in­ter­ru­zio­ne viene raggiunta e diventa quindi “false”, il programma in­ter­rom­pe il ciclo e continua con il resto del codice.

Esempio di ciclo semplice

Per de­scri­ve­re meglio il fun­zio­na­men­to di questo ciclo, ti mostriamo la sua struttura con un semplice esempio. A tal fine, definiamo un valore x pari a 10. Uti­liz­zan­do l’operatore Java “++”, dobbiamo in­cre­men­ta­re questo valore di 1 a ogni passaggio e vi­sua­liz­zar­lo con il comando Java System.out.println. La nostra con­di­zio­ne di in­ter­ru­zio­ne è il valore 20. In questo modo, il ciclo viene ripetuto finché il valore x rimane inferiore a 20. Il relativo codice si presenta così:

public class Main {
	public static void main(String[] args) {
		int x = 10;
		do {
			System.out.println(x);
			x++;
		}
		while (x < 20);
	}
}
java

Se eseguiamo questo codice, otteniamo il seguente risultato:

10
11
12
13
14
15
16
17
18
19
java

In seguito, il programma ha eseguito il ciclo ancora una volta, ma ha rilevato che il valore x è diventato 20. Poiché ora il valore non è più inferiore a 20, la con­di­zio­ne di in­ter­ru­zio­ne è stata sod­di­sfat­ta e il ciclo do-while si conclude.

Creazione di un ciclo continuo con il valore “true”

Per mezzo dell’espres­sio­ne booleana “true” è possibile rea­liz­za­re un ciclo continuo con do-while. Questo ciclo non si ferma mai au­to­no­ma­men­te, poiché non è possibile rag­giun­ge­re nessuna con­di­zio­ne di in­ter­ru­zio­ne. Per terminare il ciclo è ne­ces­sa­rio uti­liz­za­re ma­nual­men­te la com­bi­na­zio­ne di tasti [Ctrl] + [C]. Il relativo codice si presenta così:

public class Main {
	public static void main(String[] args) {
		do {
			System.out.println("È in corso un ciclo continuo.");
		}
		while(true);
	}
}
java

Eseguendo questo codice si ottiene il seguente risultato:

È in corso un ciclo continuo.
È in corso un ciclo continuo.
È in corso un ciclo continuo.
È in corso un ciclo continuo.
È in corso un ciclo continuo.
ctrl+c
java

Il ciclo rimane sempre in ese­cu­zio­ne se non viene in­ter­rot­to ma­nual­men­te.

La dif­fe­ren­za fra do-while e while

Da molti punti di vista, il ciclo do-while in Java e il ciclo while sono molto simili. Tuttavia, dif­fe­ri­sco­no no­te­vol­men­te per un aspetto: mentre nel ciclo while la con­di­zio­ne di in­ter­ru­zio­ne è già ve­ri­fi­ca­ta sin dall’inizio, il ciclo do-while viene prima eseguito almeno una volta per intero e solo dopo questa prima ese­cu­zio­ne può essere terminato. Pertanto, è questa la soluzione giusta se desideri eseguire le istru­zio­ni almeno una volta. Se la con­di­zio­ne di in­ter­ru­zio­ne è de­ter­mi­nan­te, puoi uti­liz­za­re invece il ciclo while con controllo della con­di­zio­ne in testa.

Vai al menu prin­ci­pa­le