
¿Qué es un switch en programación? Es una palabra clave usada en la mayoría de lenguajes de programación.
Usar switch ayuda a simplificar el código y evita confusiones, ya que organiza en varias ramas el código que va a ser ejecutado.
Un ejemplo de como se escribe la sentencia switch sería el siguiente:
switch (variable){case valor1:instruccion1;break;case valor2:instruccion2;break;[default:]instruccion_default;}
Vemos que existen varias palabras claves, y una estructura particular. Analicemos cada parte:
- Como vemos, primero de todo usamos la palabra reservada
switch. - La
variablees para verificar el valor que tiene almacenado. - La palabra
caseindica el valor que va a verificar. Lo habitual es que sea un valor numérico o un texto. La combinación de la palabracasey su valor se llama etiqueta case. - El valor literal es cualquier valor válido que la variable que vamos a evaluar contiene. Podemos poner una etiqueta
casepor cada valor que queremos evaluar. Los valores de la etiquetacaseno pueden ser variables, o expresiones o métodos. Si que pueden ser constantes. - La sentencia
breakes una palabra clave opcional, que hace que el flujo del código termine dentro de toda la sentenciaswitch. Si no existiese, todas as instrucciones que vemos dentro del código se ejecutarían, hasta encontrar una palabrabreak. - La palabra clave
defaultindica el bloque de código si no satisface ninguna de las etiquetascaseque hemos escrito. Podemos decir que esta etiqueta es parecida a la sentenciaelse. También es una etiqueta opcional.
Ejemplo de switch
Vemos un ejemplo de una sentencia switch, dónde con una variable almacene el número del mes, un valor entre 1 y 12, y nos diga cuantos días tiene ese mes.
switch(mes){case 1:case 3:case 5:case 7:case 8:case 10:case 12:print("Hay 31 días en este mes");break;case 2:print("Hay 28 días en este mes");break;case 4:case 6:case 9:case 11:print("Hay 30 días en este mes");break;default:print("Mes incorrecto");break;}
Como vemos, es un buen ejemplo para ver que es posible juntar varias etiquetas case.
Cuando utilizar switch
La sentencia switch se utiliza solo para verificar la igualdad, como hemos visto.
No puedes verificar si los valores son más grandes o más pequeños en la variable. También sirve para verificar valores simples.
Como vemos, tiene una gran similitud con la sentencia if y else. Obviamente, es posible combinar todas las sentencias, como por ejemplo poner dentro de un if una sentencia switch .
