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.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else