Ciclo while in Java: tutto quello che c’è da sapere sul ciclo con controllo in testa
Con il ciclo while in Java, potete eseguire le istruzioni finché non si verifica una condizione di terminazione. Questa forma di ciclo può anche essere combinata e annidata.
Il tuo web hosting come mai prima d'ora
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax
Cos’è il ciclo while in Java?
Il ciclo while offre agli utenti di Java la possibilità di eseguire un numero qualsiasi di istruzioni, purché una condizione precedentemente definita sia vera. Non è richiesta una variabile di conteggio, perciò la condizione di terminazione può essere definita anche separatamente.
La condizione di terminazione, scritta tra parentesi tonde, funziona secondo la formula booleana. Ciò significa che il ciclo while in Java esegue le istruzioni memorizzate finché la condizione specificata nell’intestazione è soddisfatta, quindi “true”. Se la condizione di terminazione diventa per la prima volta “false”, il ciclo viene terminato. Poiché la condizione di terminazione è già definita nella testa del ciclo while in Java, si parla di ciclo con controllo in testa.
La condizione di terminazione, scritta tra parentesi tonde, funziona secondo la formula booleana. Ciò significa che il ciclo while in Java esegue le istruzioni memorizzate finché la condizione specificata nell’intestazione è soddisfatta, quindi “true”. Se la condizione di terminazione diventa per la prima volta “false”, il ciclo viene terminato. Poiché la condizione di terminazione è già definita nella testa del ciclo while in Java, si parla di ciclo con controllo in testa.
Come si costruisce il ciclo while in Java?
La struttura di un ciclo while in Java è sempre simile. La sintassi rimane la stessa, ma cambiano solo le dichiarazioni e la condizione di terminazione. Innanzitutto, il termine “while” introduce il ciclo, poi segue la condizione di terminazione tra parentesi tonde e infine una o più istruzioni tra parentesi graffe. Il codice sorgente del ciclo while in Java si presenta quindi così:
while ( Condizione di terminazione ) {
Istruzione
}
La procedura è sempre la seguente:
- Il programma verifica la condizione.
- Se questa condizione è soddisfatta, l’applicazione Java esegue l’istruzione.
- Il programma torna quindi all’inizio.
- La condizione viene nuovamente verificata.
- Se ora questo valore è “false”, il programma esce dal ciclo while in Java e prosegue con il codice.
Esempio di un ciclo semplice
Un esempio semplice di utilizzo di un ciclo while in Java è un contatore che deve contare fino a un certo valore. Lo fa esattamente fino a quando non viene raggiunto il valore specificato, ovvero la condizione di terminazione. Scritta, si presenta così:
int i = 0;
while ( i <= 5 ) {
System.out.println ("Il valore corrente è: " + i );
i++;
}
In questa configurazione la variabile “i” parte da zero. Ora dovrebbe aumentare di 1 fino a raggiungere il valore “5”. Ciò avviene tramite l’operatore Java ++. Al turno successivo, quando il valore sarà “6”, il programma terminerà, concludendo così il ciclo while in Java. Pertanto, verrà mostrata la serie di numeri 1, 2, 3, 4, 5 con il comando Java System.out.println.
Evitare i cicli infiniti
Sebbene il ciclo while in Java sia fondamentalmente semplice, presenta alcune fonti di errore che possono portare a un’esecuzione non corretta. Se manca un’informazione importante o la condizione di terminazione non può mai essere raggiunta, il ciclo diventa infinito e causa un crash o interrompe il programma a un certo punto. Ciò accade, ad esempio, se il controllo della condizione di terminazione dà sempre come risultato “true” o se non è possibile raggiungere il valore desiderato.
La differenza tra while e do-while in Java
Oltre a while, in Java esiste anche il ciclo do-while. Non solo ha un nome simile, ma funziona quasi esattamente come il ciclo while. La differenza sostanziale è che il ciclo while con controllo in testa verifica in anticipo la condizione di terminazione, mentre il ciclo do-while con controllo in coda attende che l’istruzione o le istruzioni siano state eseguite almeno una volta. Questo si scorge già dalla struttura:
int i = 0;
fare {
System.out.println ("Il valore corrente è: " + i );
i++;
}
while ( i <= 5 );
In questo caso, il codice viene eseguito almeno una volta e la condizione viene controllata successivamente.
Nidificazione dei cicli while in Java
In Java avete anche la possibilità di collegare più cicli while o annidarli l’uno nell’altro. Un esempio con due contatori si presenta così:
int i = 0;
while ( i <= 5 ) {
System.out.println ("Il valore corrente è: " + i );
i++;
int passaggio intermedio = 0;
while ( passaggio intermedio <= 3 ) {
System.out.println ("Il valore intermedio corrente è : " + passaggio intermedio );
Passaggio intermedio++;
}
}
Prima di tutto, il programma Java controlla il ciclo while esterno. Se è “true”, il programma passa al ciclo interno e ne verifica la correttezza. Ora il ciclo interno viene controllato finché la sua condizione di terminazione non diventa “false”. Quindi il programma passa nuovamente al ciclo esterno.
La differenza tra for e while in Java
Oltre al ciclo while in Java, presentato qui, e a quello do-while, esiste anche il ciclo for. A prima vista, è simile al ciclo while di Java, in quanto ripete un codice finché la condizione di terminazione definita non diventa “false”. A differenza della variante while, tuttavia, il ciclo for ha ancora una variabile di esecuzione che viene inizializzata prima della condizione di terminazione.