Recomendado, 2024

La Elección Del Editor

Diferencia entre if-else y switch

"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 sentencias if-else y switch es que la sentencia if-else "selecciona la ejecución de las sentencias en función de la evaluación de la expresión en sentencias if". Las instrucciones de cambio "seleccionan la ejecución de la instrucción a menudo en función de un comando del teclado".

Gráfica comparativa

Bases para la comparaciónsi-si nocambiar
BASICLa instrucción que se ejecutará depende de la salida de la expresión dentro de la instrucción if.La afirmación que se ejecutará es decidida por el usuario.
ExpresiónLa instrucción if-else usa declaraciones múltiples para múltiples opciones.cambiar la instrucción utiliza una sola expresión para múltiples opciones.
PruebasPrueba if-else para la igualdad, así como para la expresión lógica.cambiar la prueba de la declaración sólo para la igualdad.
Evaluaciónif sentencia evalúa tipo entero, carácter, puntero o punto flotante o tipo booleano.La instrucción switch solo evalúa el carácter o el valor entero.
Secuencia de ejecuciónO bien si la sentencia se ejecutará o bien la sentencia se ejecutará.la instrucción de conmutación ejecuta un caso tras otro hasta que aparece una instrucción de interrupción o se alcanza el final de la instrucción de conmutación.
Ejecución por defectoSi la condición dentro de las sentencias if es falsa, entonces, de forma predeterminada, la sentencia else se ejecuta si se crea.Si la condición dentro de las instrucciones de conmutación 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 utiliza la instrucción if-else anidada.Es fácil editar los casos de conmutador ya que se reconocen fácilmente.

Definición de if-else

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

 if (expresión) {sentencias (es)} else {sentencias (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 instrucción if puede contener un entero, carácter, puntero, punto flotante o puede ser un tipo booleano. La sentencia else es opcional en una sentencia if-else. Si la expresión devuelve verdadero, las declaraciones dentro de la instrucción if se ejecutan, y si devuelve falso, las declaraciones dentro de else se ejecutan y, en caso de que una instrucción else no se cree, no se realiza ninguna acción, y el control del programa salta. de una sentencia if-else.

Nos deja entender con un ejemplo.

 int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i jyou cho choclate oscuro"; descanso; caso 2: cout << "tu eliges dulces"; descanso; caso 3: cout << "tu eliges lollypop"; descanso; . . cout predeterminado << "no eliges nada"; } 

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

Diferencias clave entre if-else y switch

  1. Expresión dentro de la sentencia if decide si ejecutar las sentencias dentro del bloque if o por debajo de else. Por otro lado, la expresión dentro de la instrucción switch decide qué caso ejecutar.
  2. Puede tener varias declaraciones if para múltiples opciones de declaraciones. En switch solo tienes una expresión para las múltiples opciones.
  3. La instrucción if-esle comprueba la igualdad así como la expresión lógica. Por otro lado, los conmutadores solo comprueban la igualdad.
  4. La instrucción if evalúa el tipo de entero, carácter, puntero o punto flotante o tipo booleano. Por otro lado, la instrucción switch solo evalúa el carácter o un tipo de datos entero.
  5. La secuencia de ejecución es como cualquiera de las sentencias under si se ejecutará el bloque o las sentencias under de lo contrario la sentencia block se ejecutará. Por otro lado, la expresión en la instrucción de cambio decide qué caso ejecutar y si no aplica una instrucción de interrupción después de cada caso, se ejecutará hasta el final de la instrucción de cambio.
  6. Si la expresión en el interior si las salidas se vuelven falsas, se ejecutará la instrucción en el bloque else. Si la expresión dentro de la sentencia switch resulta ser falsa, entonces se ejecutan las sentencias por defecto.
  7. Es difícil editar las sentencias if-else, ya que es tedioso rastrear dónde se requiere la corrección. Por otro lado, es fácil editar las instrucciones del switch, ya que son fáciles de rastrear.

Conclusión:

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

Top