Hytale Modding
Conceptos básicos de Java

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
}
Loops infinitos

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
}
Partes del loop 'for'
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);
    }
}
Rendimiento de los loops anidados

¡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.