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