¿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
variable
es para verificar el valor que tiene almacenado. - La palabra
case
indica el valor que va a verificar. Lo habitual es que sea un valor numérico o un texto. La combinación de la palabracase
y 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
case
por cada valor que queremos evaluar. Los valores de la etiquetacase
no pueden ser variables, o expresiones o métodos. Si que pueden ser constantes. - La sentencia
break
es 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
default
indica el bloque de código si no satisface ninguna de las etiquetascase
que 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
.