Diferencia entre if-else y switch

Autor: Laura McKinney
Fecha De Creación: 3 Abril 2021
Fecha De Actualización: 5 Mayo 2024
Anonim
ESTRUCTURA SELECTIVA (Explicación de if, if-else y switch)
Video: ESTRUCTURA SELECTIVA (Explicación de if, if-else y switch)

Contenido


"If-else" y "switch" son declaraciones de selección. Las declaraciones de selección transfieren el flujo del programa al bloque particular de declaraciones en función de si la condición es "verdadera" o "falsa". La diferencia fundamental entre las declaraciones if-else y switch es que la declaración if-else "selecciona la ejecución de las declaraciones basándose en la evaluación de la expresión en las declaraciones if". Las instrucciones de cambio "seleccionan la ejecución de la declaración a menudo basada en un comando de teclado".

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónsi máscambiar
BASICLa declaración que se ejecutará depende de la salida de la expresión dentro de la declaración if.El usuario decide qué declaración se ejecutará.
ExpresiónLa instrucción if-else usa la instrucción múltiple para múltiples opciones.La instrucción switch usa una sola expresión para múltiples opciones.
Pruebasprueba de declaración if-else para la igualdad, así como para la expresión lógica.prueba de cambio de declaración solo para igualdad.
EvaluaciónLa instrucción if evalúa el número entero, el carácter, el puntero o el tipo de punto flotante o el tipo booleano.La instrucción switch evalúa solo el carácter o el valor entero.
Secuencia de ejecuciónSi la declaración se ejecutará o si se ejecuta la declaración.La instrucción switch ejecuta un caso tras otro hasta que aparece una instrucción break o se alcanza el final de la instrucción switch.
Ejecución predeterminadaSi la condición dentro de las declaraciones if es falsa, por defecto, la declaración else se ejecuta si se crea.Si la condición dentro de las instrucciones del conmutador no coincide con ninguno de los casos, para esa instancia, las instrucciones predeterminadas se ejecutan si se crean.
EdiciónEs difícil editar la instrucción if-else, si se usa la instrucción if-else anidada.Es fácil editar casos de cambio ya que se reconocen fácilmente.

Definición de if-else

Las declaraciones if-else pertenecen a las declaraciones de selección en OOP. La forma general de las declaraciones if-else es la siguiente


if (expresión) {declaración (s)} más {declaración (s)}

donde "if" y "else" son las palabras clave, y las declaraciones pueden ser una sola declaración o un bloque de declaraciones. La expresión se evalúa como "verdadera" para cualquier valor distinto de cero y para cero se evalúa como "falsa".
La expresión en la declaración if puede contener un número entero, carácter, puntero, punto flotante o puede ser de tipo booleano. La instrucción else es opcional en una instrucción if-else. Si la expresión devuelve verdadero, las declaraciones dentro de si la declaración se ejecuta, y si devuelve falso, las declaraciones dentro de la declaración else se ejecutan y, en caso de que una declaración else no se cree, no se realiza ninguna acción, y el control del programa salta de una declaración if-else.

Nos permite entender con un ejemplo.


int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i =" <

Definición de interruptor

Las declaraciones de cambio son una declaración de selección de opción múltiple. La forma general de la declaración de cambio es la siguiente

conmutador (expresión) {constante de caso1: declaración (s); descanso; constante de caso2: enunciado (s); descanso; constante de caso3: enunciado (s); descanso; . . declaraciones por defecto; }

Donde la expresión evalúa un entero o constantes de caracteres. La expresión aquí solo evalúa la igualdad. La expresión se verifica contra las constantes presentes en las declaraciones de casos. Si se encuentra una coincidencia, las declaraciones asociadas con ese caso se ejecutan, hasta que se produce un "corte". Como la declaración de interrupción es opcional en las declaraciones de caso, si la declaración de interrupción no está presente, la ejecución no se detiene hasta el final de la declaración de cambio.
La expresión solo contiene una sola expresión. La declaración de cambio a menudo usa un comando de teclado para elegir una entre las múltiples declaraciones de caso.

int c; cout << "elige el valor de 1 a 3"; cin >> i; interruptor (i) {caso 1: cout << "usted elige chocolate oscuro"; descanso; caso 2: cout << "eliges dulces"; descanso; caso 3: cout << "usted elige lollypop"; descanso; . . cout predeterminado << "no elige nada"; }

Aquí, el valor de "i" decidirá qué caso se va a ejecutar, si un usuario da el valor de "i" que no sea 1, 2 o 3, entonces se ejecuta el caso predeterminado.

  1. La expresión dentro de la declaración if decide si ejecutar las declaraciones dentro del bloque if o debajo del bloque else. Por otro lado, la expresión dentro de la instrucción switch decide qué caso ejecutar.
  2. Puede tener una declaración if múltiple para una elección múltiple de declaraciones. A cambio, solo tiene una expresión para las múltiples opciones.
  3. La instrucción If-esle verifica la igualdad y la expresión lógica. Por otro lado, cambie las comprobaciones solo por igualdad.
  4. La instrucción if evalúa el número entero, el carácter, el puntero o el tipo de punto flotante o el tipo booleano. Por otro lado, la instrucción switch evalúa solo caracteres o un tipo de datos entero.
  5. La secuencia de ejecución es como una declaración bajo si el bloque se ejecutará o las declaraciones bajo otra instrucción del bloque se ejecutará. Por otro lado, la expresión en la instrucción switch decide qué caso ejecutar y, si no aplica una instrucción break después de cada caso, se ejecutará hasta el final de la instrucción switch.
  6. Si la expresión dentro de si resulta ser falsa, se ejecutará la declaración dentro del bloque else. Si la expresión dentro de la declaración del interruptor resulta ser falsa, se ejecutan las declaraciones predeterminadas.
  7. Es difícil editar declaraciones if-else ya que es tedioso rastrear dónde se requiere la corrección. Por otro lado, es fácil editar las declaraciones de cambio, ya que son fáciles de rastrear.

Conclusión:

La declaración de cambio es fácil de editar, ya que ha creado casos separados para diferentes declaraciones, mientras que en las declaraciones anidadas if-else se hace difícil identificar las declaraciones que se van a editar.