En este tutorial vamos a ver los switch statements en Java.
Los usamos para ejecutar diferentes partes del código dependiendo del valor de una expresión. Es parecido a un if/else if/else, pero a veces se ve más limpio.
👤 Ejemplo: rol del usuario
Imaginemos que queremos verificar el rol del usuario actual y mostrar un mensaje:
si es admin → “Tú eres un administrador”
si es moderador → “Eres moderador”
si no → “Eres invitado”
(En un programa real el rol no lo hardcodeamos, lo leeríamos de otra parte).
✅ Con if/else if/else
⚠️ Nota importante: para comparar String en Java debemos usar .equals(...), no ==.
publicclass Main{publicstaticvoidmain(String[] args){String role ="admin";if(role.equals("admin"))System.out.println("Tú eres un administrador");elseif(role.equals("moderador"))System.out.println("Eres moderador");elseSystem.out.println("Eres invitado");}}
🔁 Lo mismo con switch
Con switch a veces queda más ordenado:
publicclass Main{publicstaticvoidmain(String[] args){String role ="admin";switch(role){case"admin":System.out.println("Tú eres un administrador");break;case"moderador":System.out.println("Eres moderador");break;default:System.out.println("Eres invitado");}}}
🧱 ¿Cómo funciona switch?
Un switch tiene:
switch (expresión)
un bloque { ... }
varios case ...:
y opcionalmente un default:
📌 default se ejecuta si ningún caso coincide.
🛑 ¿Para qué sirve break?
El break sirve para salir del switch.
Si no pones break, pasa algo llamado fall-through:
publicclass Main{publicstaticvoidmain(String[] args){int role =1;switch(role){case1:System.out.println("Tú eres un administrador");break;case2:System.out.println("Eres moderador");break;default:System.out.println("Eres invitado");}}}
🤝 If vs Switch
if/else es mejor cuando tienes rangos o condiciones complejas (ej: temp > 20 && temp <= 30)
switch es ideal cuando comparas un valor contra varios casos (ej: role es “admin”, “moderador”, etc.)