# Il ciclo do-while in Java: come funziona

Il ciclo do-while in Java ti permette di eseguire le istruzioni programmate fino al raggiungimento di una condizione di interruzione definita. È anche possibile combinare questo ciclo con altre funzioni.

## Che cos’è un ciclo do-while?

Il ciclo do-while è utilizzato in Java per eseguire un’istruzione e ripeterla **finché è soddisfatta una condizione di interruzione definita**, ossia finché rimane “true” (vera). La maggior parte dei [linguaggi di programmazione](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/linguaggi-programmazione-web/) dispone di cicli simili che sono utilizzati per eseguire più volte determinati blocchi di codice. È anche possibile combinare questo ciclo con altre funzioni. In Java, il ciclo do-while è una variante del consueto [ciclo while](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/ciclo-while-in-java/).

## La sintassi del ciclo do-while in Java

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

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

Il ciclo inizia quindi con la parola chiave “do”. A seguire sono indicate le istruzioni o l’istruzione che il programma deve eseguire. Dopo la parentesi si trova la seconda parola chiave “while”, che inizializza la condizione di interruzione. Questa condizione è sempre formulata come **espressione booleana** e può essere quindi “true” (vera) o “false” (falsa) nella logica del programma. Un esempio pratico e ben noto di espressione di questo tipo è quello di una variabile numerica che permette di controllare la frequenza di ripetizione dell’esecuzione.

## Funzionamento del ciclo

Se ora fai partire il ciclo do-while in Java, il programma prende in considerazione le istruzioni scritte nel corpo del ciclo e le esegue. Una volta completato, il programma verifica la condizione di interruzione. Se è “true” (ossia non ancora soddisfatta), il ciclo riparte dall’inizio e ripete tutte le istruzioni fino a un nuovo controllo. Non appena la condizione di interruzione viene raggiunta e diventa quindi “false”, **il programma interrompe il ciclo** e continua con il resto del codice.

## Esempio di ciclo semplice

Per descrivere meglio il funzionamento di questo ciclo, ti mostriamo la sua struttura con un semplice esempio. A tal fine, definiamo un valore x pari a 10. Utilizzando l’[operatore Java](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/operatori-java/) “++”, dobbiamo incrementare questo valore di 1 a ogni passaggio e visualizzarlo con il [comando Java](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/comandi-java/) `System.out.println`. La nostra condizione di interruzione è il valore 20. In questo modo, il ciclo viene ripetuto finché il valore x rimane inferiore a 20. Il relativo codice si presenta così:

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

Se eseguiamo questo codice, otteniamo il seguente risultato:

```java
10
11
12
13
14
15
16
17
18
19
```

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 condizione di interruzione è stata soddisfatta e il ciclo do-while si conclude.

## Creazione di un ciclo continuo con il valore “true”

Per mezzo dell’espressione booleana “true” è possibile **realizzare un ciclo continuo** con do-while. Questo ciclo non si ferma mai autonomamente, poiché non è possibile raggiungere nessuna condizione di interruzione. Per terminare il ciclo è necessario **utilizzare manualmente la combinazione di tasti \[Ctrl\] + \[C\]**. Il relativo codice si presenta così:

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

Eseguendo questo codice si ottiene il seguente risultato:

```java
È 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
```

Il ciclo rimane sempre in esecuzione se non viene interrotto manualmente.

## La differenza fra do-while e while

Da molti punti di vista, il ciclo do-while in Java e il ciclo while sono molto simili. Tuttavia, differiscono notevolmente per un aspetto: mentre nel ciclo while la condizione di interruzione **è già verificata sin dall’inizio**, il ciclo do-while viene prima eseguito **almeno una volta per intero** e solo dopo questa prima esecuzione può essere terminato. Pertanto, è questa la soluzione giusta se desideri eseguire le istruzioni almeno una volta. Se la condizione di interruzione è determinante, puoi utilizzare invece il ciclo while con controllo della condizione in testa.


This is a markdown version of: [https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/ciclo-do-while-in-java/](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/ciclo-do-while-in-java/) for AI/LLM consumption.