05 - Control Flow Loops
Aprende como repetir código eficientemente usando loops en Java
Los loops te dejan repetir una secuencia de código sin tener que escribirlo una y otra vez. Son esenciales para procesar series, generación de mundos y actualización de objetos del juego.
Loop "while"
Este loop repite el código mientras la condición sea verdadera (True):
int countdown = 5;
while (countdown > 0) {
System.out.println(countdown);
countdown--;
}
System.out.println("¡Despegue!");Esctructura
while (condición) {
// código a repetir
}Asegúrate siempre de que la condición del loop se vuelva falsa (False) eventualmente, o tu programa se ejecutará para siempre.
int x = 0;
while (x < 10) {
System.out.println("¡TicToc!");
// ¡Se te está olvidando incrementar x!
}Loop "do-while"
Así como un loop "while", pero que siempre se ejecuta al menos una vez.
int health = 0;
do {
System.out.println("Espera a revivir...");
health = 100;
} while (health <= 0);Loop "for"
Es mejor cuando sabes cuántas veces se repite:
for (int i = 1; i <= 5; i++) {
System.out.println("Nivel" + i);
}Estructura
for (inicial; condición; actualización) {
// Código a repetir
}for (int i = 0 ; i < 10 ; i++) {
// ^ ^ ^
// Inicial Condición Actualización
}- Inicio: int i = 0 - Se ejecuta una vez al inicio
- Condición i < 10 - Se comprueba antes de cada bucle
- Actualización i++ - Se ejecuta luego de cada bucle
Detener el loop
Puedes salir de un loop a tiempo con "break"
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // Se detiene el loop cuando i sea 6
}
System.out.println(i);
}Continuar un loop
Continúa un el nuevo ciclo con "continue":
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // Omite los números pares
}
System.out.println(i); // Muestra solo números impares
}Loops anidados (loop dentro de loop)
Puedes ingresar loops dentro de otros loops:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2; j++) {
System.out.println("i: " + i + ", j: " + j);
}
}¡Cuidado con los loops anidados! Pueden ralentizar tu mod significativamente.
// Por ejemplo, ¡esto se ejecuta 1.000.000 de veces!
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
// Código aquí
}
}Intenta evitar loops anidados muy intensos o complejos al procesar grandes cantidades de datos.