Café y Código

6. Ciclos y Repeticiones (Loops)

Ciclo Indeterminado: While y Do-While

El bucle while se ejecuta repetidas veces mientras su condición sea true. Si de entrada es falsa, nunca entraremos a él. Por otro lado, la variante do-while garantiza que el código de adentro se ejecute al menos una única vez, sin importar si la condición es falsa, porque verifica dicha condición al final de la llave en lugar de al principio.

El bucle Mientras (While)
JAVA
1 int boletos = 5;
2
3 // Mientras nos sigan quedando boletos...
4 while(boletos > 0) {
5 System.out.println("Vendiendo boleto. Quedan: " + boletos);
6 boletos--; // restamos 1 para no caer en un bucle infinito
7 }

Ciclo Determinado: For

Cuando sabemos exactamente cuántas veces queremos que algo pase, el for es el rey porque compacta la lógica. Combina de un solo golpe: (1) la creación del contador; (2) la condición que mantiene vivo el ciclo; (3) el incremento automático en cada vuelta.

El clásico bucle For
JAVA
1 // Iniciamos en i=1, iteramos mientras i sea menor o igual a 10, y saltamos de a 1 (i++).
2 for (int i = 1; i <= 10; i++) {
3 System.out.println("El valor de i en esta vuelta es: " + i);
4 }

Existen las palabras mágicas reservadas break (para abortar y matar el bucle anticipadamente) y continue (para abortar sólo esta vuelta y brincar inmediatamente a la siguiente ignorando el código sobrante abajo de éste).

👨‍💻 Ejercicio Práctico 1

Misión: Saltando Obstáculos

Crea un bucle for que cuente e imprima del 1 al 10, pero salta el número 5 usando continue.

👁️ Ver solución propuesta
JAVA
1 for (int i = 1; i <= 10; i++) {
2 if (i == 5) {
3 continue; // Ignora el 5 y salta a la siguiente iteración
4 }
5 System.out.println("Iteración: " + i);
6 }

👨‍💻 Ejercicio Práctico 2

Misión: Cuenta Regresiva Espacial

Haz un ciclo while que inicie la cuenta atrás desde 5 y baje hasta 1. Al salir del bucle imprime en consola "¡Despegue!".

👁️ Ver solución propuesta
JAVA
1 int cuenta = 5;
2 while (cuenta > 0) {
3 System.out.println("T-menos: " + cuenta);
4 cuenta--;
5 }
6 System.out.println("¡Despegue!");

👨‍💻 Ejercicio Práctico 3

Misión: Filtro Dinámico de Pares

Usa un ciclo for que inicie en el número 2 y vaya hasta el 20 incluyéndolo. Esta vez en lugar del 'i++' aumenta el contador de a dos en dos usando i += 2.

👁️ Ver solución propuesta
JAVA
1 for (int i = 2; i <= 20; i += 2) {
2 System.out.println("Es par: " + i);
3 }

👨‍💻 Ejercicio Práctico 4

Misión: Menú forzado Do-While

Declara una variable int op = 0;. Abre un do-while y pon a `op` igual a 1 internamente para que no corra infinitamente mientras (op != 1).

👁️ Ver solución propuesta
JAVA
1 int op = 0;
2 do {
3 System.out.println("Cargando Menú de Usuario...");
4 // Forzamos la salida simulando que el usuario digitó salir.
5 op = 1;
6 } while (op != 1);

Ponte a prueba

Verifica que dominas los ciclos infinitos y repetidores en nuestro quiz rápido.

Dato curioso: JDK 1.0 en 1996; James Gosling y Sun Microsystems. Wikipedia

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.