Saltar al contenido

Qué es un SWITCH en programación

que es un switch en programacion

¿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 palabra case 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 etiqueta case 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 sentencia switch. Si no existiese, todas as instrucciones que vemos dentro del código se ejecutarían, hasta encontrar una palabra break.
  • La palabra clave default indica el bloque de código si no satisface ninguna de las etiquetas case que hemos escrito. Podemos decir que esta etiqueta es parecida a la sentencia else. 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 .