Menu
Coddy logo textTech

Infinite Loop

Parte de la sección Fundamentos del Journey de Java de Coddy — lección 49 de 73.

Un bucle infinito es un bucle que nunca se detiene porque su condición siempre se evalúa como true. Estos bucles pueden ocurrir con cualquier tipo de bucle (for, while, do-while), pero están más comúnmente asociados con bucles while y do-while porque sus condiciones se establecen explícitamente.

Aquí tienes un ejemplo de un bucle while infinito:

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

En este caso, la condición es simplemente true, que siempre se evalúa como true. Por lo tanto, el bucle se ejecutará indefinidamente, imprimiendo el mensaje una y otra vez.

Otra forma de crear un bucle infinito es omitiendo la condición en un for loop:

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

Aquí, las partes de inicialización, condición y actualización del bucle for se omiten todas. Esto crea un bucle que se ejecuta indefinidamente.

Los bucles infinitos también pueden ocurrir de forma no intencional, como cuando la condición del bucle es siempre true debido a un error lógico:

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

En este ejemplo, la variable i nunca se incrementa, por lo que la condición i < 10 siempre es true. Esto crea un bucle infinito que seguirá imprimiendo "i is: 0" indefinidamente.

Los bucles infinitos pueden ser útiles en algunos casos, como en programas de servidor que necesitan seguir ejecutándose hasta que se detengan manualmente. Sin embargo, también pueden causar que los programas se congelen o fallen si no se manejan adecuadamente.

Hoja de referencia

Un bucle infinito es un bucle que nunca se detiene porque su condición siempre evalúa a true.

Bucle while infinito intencional:

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

Bucle for infinito intencional (omitiendo todas las partes):

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

Bucle infinito no intencional (falta el incremento):

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // Falta i++ para incrementar i
}

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos