1. Bifurcaciones Excluyentes: if, else if, else
Las ramas if / else if se evalúan en estricto orden descendente. En cuanto una condición resulta verdadera (true), su bloque se ejecuta e inmediatamente se saltan todas las ramas posteriores.
Aunque un adulto de 30 años técnicamente no cumple edad < 13 ni edad < 18, cae en el else por descarte natural.
2. El Operador Ternario: Condicional en una Línea
El operador ternario (? :) es una expresión compacta que devuelve un valor u otro según una condición booleana. A diferencia de un bloque if tradicional, produce un resultado que puede asignarse de inmediato.
Regla de oro: Usar el operador ternario solo cuando la expresión sea corta y evidente. Si anidás ternarios (? : dentro de ? :), el código se vuelve ilegible.
3. switch Clásico (Fall-through) vs switch Moderno (->)
En el switch clásico, olvidar un break provoca la caída en cascada (*fall-through*), ejecutando los casos siguientes por error. Java 14 introdujo la sintaxis con flecha (->) que erradica este bug por diseño.
Al no tener break, el flujo continuó hacia el case 2 sobreescribiendo el valor "Lunes". En código moderno con -> cada rama es totalmente aislada.
4. El Reloj de 4 Tiempos del Bucle for
Un bucle for no ejecuta todo al mismo tiempo. Sigue un compás estricto: 1. Inicialización (una sola vez), 2. Chequeo de condición, 3. Ejecución del cuerpo, 4. Incremento. Luego vuelve al paso 2.
Presioná "Avanzar Tic" para ver la aguja del reloj recorrer las 4 estaciones de cada ciclo.
5. while vs do-while: ¿Dónde está el molinete?
En un while tradicional, la condición se comprueba antes de entrar: si es falsa de inicio, el cuerpo puede ejecutarse 0 veces. En un do-while, el cuerpo se ejecuta primero y la condición se comprueba al final: garantiza al menos 1 ejecución.
Al ser la condición falsa antes de iniciar, el bucle while no se ejecuta ni una sola vez.
6. Interrupción de Bucles: break vs continue
break finaliza abruptamente la totalidad del bucle y salta a la siguiente instrucción fuera de él. continue omite únicamente el resto de la iteración en curso y avanza de inmediato al siguiente ciclo.
Resumen de Control de Flujo
- if / else if: Evaluación secuencial excluyente; solo entra a una rama.
- switch con flechas (->): Elimina por completo la trampa del fall-through sin requerir break.
- for de 4 tiempos: Init (1) -> Condición (2) -> Cuerpo (3) -> Incremento (4).
- do-while: Revisión en la puerta de salida; garantiza al menos una ejecución.