Lección 9: Decisiones múltiples con switch
Imagina que tienes que elegir entre 7 opciones diferentes. Usar un if
-else if
para cada una sería un lío de código. ¡Aquí es donde switch
se convierte en tu mejor amigo! Es una forma limpia y ordenada de ejecutar un bloque de código diferente según el valor de una variable.
🔧 ¿Cómo se escribe?
switch (variableAEvaluar) { case valor1: // Código si la variable es igual a valor1 break; case valor2: // Código si la variable es igual a valor2 break; default: // Código si no coincide con ningún caso }
¡La pieza clave es break;
! Si lo olvidas, Java seguirá ejecutando el código de los siguientes case
sin parar (un efecto llamado "fall-through"). ¡Úsalo siempre para separar tus casos!
🎯 Ejemplo práctico: ¿Qué día es hoy?
// Programa que te dice el día de la semana según un número. import java.util.Scanner; int dia = 3; // Imagina que el usuario ingresó el número 3 switch (dia) { case 1: System.out.println("Lunes"); break; case 2: System.out.println("Martes"); break; case 3: System.out.println("Miércoles"); break; // <-- aqu="" coincide="" span=""> case 4: System.out.println("Jueves"); break; case 5: System.out.println("Viernes"); break; case 6: System.out.println("Sábado"); break; case 7: System.out.println("Domingo"); break; default: System.out.println("Número inválido"); } -->
En el ejemplo, la variable dia
vale 3
. Java busca directamente el case 3
, ignora todos los demás, ejecuta System.out.println("Miércoles");
y, al encontrar el break;
, sale del switch
. Si dia
fuera 9
, como no hay un case 9
, se ejecutaría el código del bloque default
.
🧪 Mini-práctica: Menú Básico
Ahora te toca a ti. Crea un programa que muestre un menú con 3 opciones y actúe según lo que elija el usuario:
- Si elige 1, muestra "¡Hola, qué tal!".
- Si elige 2, muestra "¡Hasta pronto!".
- Si elige 3, muestra "Saliendo del programa...".
- Si elige cualquier otro número, muestra "Opción no válida".
Desafío Extra: ¿Puedes meter este switch
dentro de un ciclo while
para que el menú se siga mostrando hasta que el usuario elija la opción de salir?