? Cuando los programadores crear aplicaciones informáticas , que a menudo implementan estructuras complejas en su código. Por ejemplo , en lugar de ejecutar secuencialmente cada línea , un programa a menudo implica la repetición y pruebas condicionales que determinan qué instrucciones de código ejecutan realmente . Instrucciones Case , también conocidas como sentencias switch , llevar a cabo secuencias de pruebas condicionales . Declaraciones encadenadas si y otro también hacer esto , por lo que los programadores suelen tener que elegir entre los dos tipos de declaraciones. Diferencias
Si y demás cadenas a veces puede llevar a cabo exactamente la misma tarea que un caso o un conmutador , comunicado. Sin embargo , sólo algunas de las tareas pueden ser llevadas a cabo por uno de ellos . Declaraciones encadenadas if y else proporcionan una serie de pruebas para el programa de ejecución, como en el siguiente ejemplo de código Java:
if ( num == 1 ) System.out.println ( " uno") ; más if ( num == 2 ) System.out.println ( "dos" ) ; else if (num == 3 ) System.out.println ( "tres" ) ; System.out.println más ( " no se , dos o tres ") ;
el siguiente código representa el procesamiento equivalente a una sentencia switch : switch
( num) {case 1 : System.out.println ( " uno ") ; break; caso 2 : System.out.println ( "dos" ) ; break; caso 3 : System.out.println ( "tres" ) ; break; default : System.out.println ( " no uno, dos o tres ") ; break; }
los resultados de estos bloques de código son las mismas , aunque su aplicación es diferente
pruebas
Case. o switch, declaraciones sólo pueden implicar ciertos tipos de datos. Por ejemplo, en Java, sentencias switch sólo pueden trabajar en tipos primitivos o enumerado , así como las clases de contenedor para los tipos de número. If y else declaraciones pueden llevar a cabo pruebas de cualquier tipo de datos , incluidos los objetos . Las pruebas en sentencias switch sólo implican un solo valor, mientras que en el caso y en otros estados , el código puede comprobar valores dentro de un cierto rango, o combinaciones de condiciones con los operadores lógicos - and, or y not. Esto significa que si bien las declaraciones y ofrecen más opciones en términos de pruebas condicionales .
Cadenas
En lugar de ser simplemente una cuestión de elegir una estructura de control que implementa el procesamiento requerida , los programadores suelen elegir las estructuras basadas en la lectura. Muchos programadores encuentran declaraciones de casos más concisa y fácil de leer cuando se están probando valores simples . Una larga lista de if y else puede aparecer innecesariamente prolijo dentro de un script. La legibilidad es un factor importante en la programación, para el desarrollo futuro y para proyectos con más de un desarrollador que trabaja en ellos.
Breaks
En una cadena de sentencias if y else , normalmente no hay necesidad de salir de una estructura de forma explícita. Con el caso , o interruptor , declaraciones sin embargo , es necesario el uso de una declaración de la rotura , instruyendo al programa para salir del bloque de código cuando se encuentra el caso a juego . Si no se incluyen las sentencias break , una sentencia switch puede tanto realizar pruebas innecesarias . Los programadores también a veces olvidan de incluir la declaración de caso por defecto , lo que puede llevar a un comportamiento impredecible.