Raccomandato, 2024

Scelta Del Redattore

Differenza tra if-else e switch

"If-else" e "switch" sono entrambe istruzioni di selezione. Le dichiarazioni di selezione trasferiscono il flusso del programma al particolare blocco di istruzioni in base al fatto che la condizione sia "vera" o "falsa". La differenza fondamentale tra le istruzioni if-else e switch è che l'istruzione if-else "seleziona l'esecuzione delle istruzioni basate sulla valutazione dell'espressione in istruzioni if". Le istruzioni switch "selezionano l'esecuzione dell'istruzione spesso in base a un comando da tastiera".

Grafico comparativo

Base per il confrontose altrointerruttore
Di baseQuale istruzione verrà eseguita dipende dall'output dell'espressione inside if statement.Quale dichiarazione verrà eseguita viene decisa dall'utente.
Espressionel'istruzione if-else utilizza più istruzioni per più scelte.l'istruzione switch utilizza la singola espressione per più scelte.
analisiif-else statement test per l'uguaglianza e per l'espressione logica.switch statement test solo per l'uguaglianza.
Valutazionese l'istruzione valuta intero, carattere, puntatore o tipo a virgola mobile o tipo booleano.l'istruzione switch valuta solo il carattere o il valore intero.
Sequenza di esecuzioneO se l'istruzione verrà eseguita o verrà eseguita un'altra istruzione.l'istruzione switch esegue un caso dopo l'altro fino a quando viene visualizzata un'istruzione break o viene raggiunta la fine dell'istruzione switch.
Esecuzione predefinitaSe la condizione all'interno delle istruzioni if ​​è false, per impostazione predefinita viene eseguita l'istruzione else, se creata.Se la condizione all'interno delle istruzioni switch non corrisponde a nessuno dei casi, per tale istanza le istruzioni predefinite vengono eseguite se create.
La modificaÈ difficile modificare l'istruzione if-else, se viene utilizzata l'istruzione ifid else annidata.È facile modificare casi di interruttori come, sono riconosciuti facilmente.

Definizione di if-else

Le dichiarazioni if-else appartengono alle istruzioni di selezione in OOP. La forma generale delle dichiarazioni if-else è la seguente

 if (espressione) {istruzione (i)} else {dichiarazione (i)} 

dove "if" e "else" sono le parole chiave e le dichiarazioni possono essere una singola istruzione o un blocco di istruzioni. L'espressione valuta di essere "true" per qualsiasi valore diverso da zero e per zero valuta "false".
L'espressione in if può contenere un numero intero, un carattere, un puntatore, un punto mobile o può essere un tipo booleano. La dichiarazione else è opzionale in un'istruzione if-else. Se l'espressione restituisce true, le istruzioni all'interno dell'istruzione if vengono eseguite e se restituisce false le istruzioni all'interno dell'istruzione else vengono eseguite e, nel caso in cui un'altra istruzione non sia stata creata, non viene eseguita alcuna azione e il controllo del programma viene saltato fuori di una dichiarazione if-else.

Ci fa capire con un esempio.

 int i = 45, j = 34; se (i == 45 & j == 34) {cout << "scelgo il choclate scuro"; rompere; caso 2: cout << "scegli le caramelle"; rompere; caso 3: cout << "scegli lollypop"; rompere; . . cout default << "non scegli nulla"; } 

Qui, il valore di "i" deciderà quale caso deve essere eseguito, se un utente fornisce il valore di "i" diverso da 1, 2 o 3, allora viene eseguito il caso predefinito.

Differenze chiave tra if-else e switch

  1. Espressione all'interno se l'istruzione decide se eseguire le istruzioni all'interno se il blocco o sotto il blocco else. D'altra parte, l'espressione all'interno dell'istruzione switch decide quale caso eseguire.
  2. È possibile avere più istruzioni if ​​per una scelta multipla di istruzioni. Nello switch hai solo un'espressione per le scelte multiple.
  3. L'istruzione ifle controlla l'uguaglianza e l'espressione logica. D'altra parte, passare i controlli solo per l'uguaglianza.
  4. L'istruzione if valuta intero, carattere, puntatore o tipo a virgola mobile o tipo booleano. D'altra parte, l'istruzione switch valuta solo il carattere o un tipo di dati intero.
  5. La sequenza di esecuzione è come una delle istruzioni sotto se il blocco verrà eseguito o le istruzioni in un'altra istruzione di blocco verranno eseguite. D'altra parte l'espressione in switch statement decide quale caso da eseguire e se non si applica una break statement dopo ogni caso verrà eseguita fino alla fine dell'istruzione switch.
  6. Se l'espressione è interna se i risultati sono falsi, verrà eseguita l'istruzione all'interno del blocco else. Se l'espressione all'interno dell'istruzione switch risulta essere falsa, vengono eseguite le istruzioni predefinite.
  7. È difficile modificare le istruzioni if-else in quanto è noioso tracciare dove è richiesta la correzione. D'altra parte è facile modificare le istruzioni switch in quanto facili da tracciare.

Conclusione:

L'istruzione switch è facile da modificare in quanto ha creato i casi separati per le diverse istruzioni mentre, nelle istruzioni nidificate if-else diventa difficile identificare le istruzioni da modificare.

Top