Menu
Coddy logo textTech

Infinite Loop

Parte da seção Fundamentos do Journey de Java da Coddy — lição 49 de 73.

Um laço infinito é um laço que nunca para porque sua condição sempre avalia para true. Esses laços podem ocorrer com qualquer tipo de laço (for, while, do-while), mas eles são mais comumente associados aos laços while e do-while porque suas condições são explicitamente declaradas.

Aqui está um exemplo de um laço while infinito:

while (true) {
    System.out.println("This will print forever!");
}

Neste caso, a condição é simplesmente true, que sempre avalia para true. Portanto, o loop executará indefinidamente, imprimindo a mensagem repetidamente.

Outra forma de criar um loop infinito é omitindo a condição em um loop for:

for (;;) {
    System.out.println("This also prints forever!");
}

Aqui, as partes de inicialização, condição e atualização do loop for são todas omitidas. Isso cria um loop infinito.

Loops infinitos também podem ocorrer involuntariamente, como quando a condição do loop é sempre true devido a um erro lógico:

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // Missing i++ to increment i
}

Neste exemplo, a variável i nunca é incrementada, então a condição i < 10 é sempre true. Isso cria um loop infinito que continuará imprimindo "i is: 0" indefinidamente.

Laços infinitos podem ser úteis em alguns casos, como em programas de servidor que precisam continuar executando até serem parados manualmente. No entanto, eles também podem fazer com que os programas congelem ou travem se não forem tratados adequadamente.

Folha de consulta

Um loop infinito é um loop que nunca para porque sua condição sempre avalia para true.

Loop while infinito intencional:

while (true) {
    System.out.println("This will print forever!");
}

Loop for infinito intencional (omitindo todas as partes):

for (;;) {
    System.out.println("This also prints forever!");
}

Loop infinito não intencional (incremento ausente):

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // Missing i++ to increment i
}

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos