domingo, 22 de mayo de 2016

Estructura condicional switch

Hola a todos,

En esta entrega vamos a ver la instrucción switch como una posible alternativa a los if-else encadenados.

switch


Una buena forma de poder entender la funcionalidad y estructura de la instrucción switch es empezar por el ejemplo del if-else encadenado del capítulo anterior.

if (a == 3)
{
    print("Primer Número favorito.");
}
else if (a == 6)
{
    print("Segundo Número favorito.");
}
else
{
    print("Un Número cualquiera.");
}



El equivalente en la instrucción switch sería:

switch (a)
{
    case 3:

        print("Primer Número favorito.");

        break;


    case 6:
        print("
Segundo Número favorito.");
        break;

    default:
        print("Un número cualquiera.");
        break;
}


Para que un if-else y un switch sean equivalentes, lo primero es que todas las condicionales del if-else comparen siempre la misma variable. En nuestro caso, es la variable a.

Al igual que un if-else, switch nos garantiza:
  • Ejecución exclusiva: no se puede ejecutar más de una rama. Se puede forzar la ejecución de 2 o más ramas con el uso de un goto case, pero esta práctica es más avanzada, delicada y no recomendada.
  • Tan pronto como una de las condiciones sea verdadera, el resto no se evalúan.

Los requisitos para poder usar switch son:
  • Todas las comparaciones se realizan con respecto a una sola variable y siempre la misma.
  • Siempre se comparan constantes (numéricas, cadenas o enum), pero no se pueden usar otras variables o llamadas a funciones.

Las ventajas que nos proporciona son:
  • Fácil de Entender
  • Fácil de Mantener
  • Fácil de Depurar (debug)

Aquí os dejo el vídeo explicativo, espero que os guste.





Para cualquier pregunta o comentario, aquí mismo o en YouTube.

Un saludo,
-David-

No hay comentarios:

Publicar un comentario