Ciclo infinito
Fa parte della sezione Fondamenti del percorso Java di Coddy. Lezione 49 di 73.
Un ciclo infinito è un ciclo che non si ferma mai perché la sua condizione restituisce sempre true. Questi cicli possono verificarsi con qualsiasi tipo di ciclo (for, while, do-while), ma sono più comunemente associati ai cicli while e do-while perché le loro condizioni sono dichiarate esplicitamente.
Ecco un esempio di ciclo while infinito:
while (true) {
System.out.println("This will print forever!");
}In questo caso, la condizione è semplicemente true, che restituisce sempre true. Di conseguenza, il ciclo verrà eseguito all'infinito, stampando il messaggio più e più volte.
Un altro modo per creare un ciclo infinito è omettere la condizione in un ciclo for:
for (;;) {
System.out.println("This also prints forever!");
}Qui, le parti di inizializzazione, condizione e aggiornamento del ciclo for sono tutte omesse. Questo crea un ciclo che viene eseguito per sempre.
I cicli infiniti possono verificarsi anche involontariamente, ad esempio quando la condizione del ciclo è sempre true a causa di un errore logico:
int i = 0;
while (i < 10) {
System.out.println("i is: " + i);
// Manca i++ per incrementare i
}In questo esempio, la variabile i non viene mai incrementata, quindi la condizione i < 10 è sempre true. Questo crea un ciclo infinito che continuerà a stampare "i is: 0" all’infinito.
I cicli infiniti possono essere utili in alcuni casi, ad esempio nei programmi server che devono continuare a funzionare finché non vengono arrestati manualmente. Tuttavia, possono anche causare il blocco o l'arresto anomalo dei programmi se non vengono gestiti correttamente.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori - Parte 1
Operatori aritmeticiOperatore moduloIncremento/decrementoIncremento/decremento postfissoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7I/O di base
Metodi di System.outFormattare l'outputClasse ScannerRipasso - Fino a 120Ripasso - Vero o falso10Metodi (Funzioni)
Dichiarare i metodiParametri dei metodiTipi di ritornoSovraccarico dei metodiRipasso - Funzione SigmaRipasso - Funzione di validazioneMetodi void13Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheConfronto tra stringhe5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 43Variabili Parte 2
CostantiConvenzioni di denominazioneRipasso - Inizializzare le variabiliConversione dei tipi Parte 1Conversione dei tipi Parte 26Decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidatiEsercitati da solo: Compilatore Java online