Aanbevolen, 2024

Editor'S Choice

Verschil tussen if-else en switch

"If-else" en "switch" zijn beide selectieverklaringen. De selectieverklaringen overbrengen de stroom van het programma naar het specifieke blok met uitspraken op basis van of de voorwaarde "waar" of "onwaar" is. Het fundamentele verschil tussen if-else en switch-instructies is dat de if-else-opdracht "de uitvoering van de instructies selecteert op basis van de evaluatie van de uitdrukking in if-statements". De schakelinstructies "selecteert de uitvoering van de instructie vaak op basis van een toetsenbordopdracht".

Vergelijkingstabel

Basis voor vergelijkingif-elseschakelaar
basis-Welke verklaring wordt uitgevoerd, is afhankelijk van de uitvoer van de uitdrukking inside if-statement.Welke verklaring wordt uitgevoerd, wordt bepaald door de gebruiker.
Uitdrukkingif-else-instructie gebruikt meerdere instructies voor meerdere keuzes.switch-instructie gebruikt één expressie voor meerdere keuzes.
testenif-else-verklaringstest voor gelijkheid en voor logische expressie.switch statement test alleen voor gelijkheid.
evaluatieif statement evalueert integer, character, pointer of floating-point type of boolean type.switch-opdracht evalueert alleen het teken of de integer-waarde.
Volgorde van uitvoeringOfwel als statement wordt uitgevoerd of anders statement wordt uitgevoerd.switch-instructie voer de ene case na de andere uit totdat een break-statement wordt weergegeven of het einde van switch-statement wordt bereikt.
Standaard uitvoeringAls de voorwaarde binnen if-instructies false is, wordt de else-instructie standaard uitgevoerd als deze is gemaakt.Als de voorwaarde binnen schakelinstructies niet overeenkomt met een van de gevallen, worden voor dat geval de standaardinstructies uitgevoerd als ze zijn gemaakt.
editingHet is moeilijk om de if-else-opdracht te bewerken als de geneste if-else-instructie wordt gebruikt.Het is gemakkelijk om schakelkasten te bewerken, ze worden gemakkelijk herkend.

Definitie van if-else

De if-else-instructies behoren tot selectieverklaringen in OOP. De algemene vorm van de if-else-instructies is als volgt

 if (uitdrukking) {verklaring (en)} anders {verklaring (en)} 

waar "als" en "anders" de sleutelwoorden zijn, en de verklaringen kunnen een enkele verklaring of een blok met uitspraken zijn. De uitdrukking evalueert "waar" te zijn voor elke niet-nulwaarde en voor nul evalueert deze als "onwaar".
De uitdrukking in if-instructie kan een geheel getal, een teken, een aanwijzer, een drijvende komma bevatten of een boolean-type. De else-instructie is optioneel in een if-else-instructie. Als de expressie true retourneert, worden de instructies in de instructie if uitgevoerd en als deze fout worden geretourneerd, worden de instructies in de else-instructie uitgevoerd en, in het geval een else-instructie niet is aangemaakt, wordt geen actie uitgevoerd en springt de besturing van het programma eruit van een if-else-verklaring.

Laten we het begrijpen met een voorbeeld.

 int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i jyou choose dark choclate"; breken; geval 2: cout << "u kiest snoep"; breken; case 3: cout << "je kiest voor lollypop"; breken; . . standaard cout << "u kiest niets"; } 

Hier bepaalt de waarde van "i" welk geval moet worden uitgevoerd, als een gebruiker de waarde "i" afgeeft anders dan 1, 2 of 3, dan wordt het standaardgeval uitgevoerd.

Belangrijkste verschillen tussen if-else en switch

  1. Uitdrukking binnen als statement bepaalt of de statements binnen moeten worden uitgevoerd als block of under else block. Aan de andere kant bepaalt expressie in switch-instructie welke case moet worden uitgevoerd.
  2. U kunt meerdere if-verklaringen hebben voor meerkeuze uitspraken. In de switch heb je maar één expressie voor de meerdere keuzes.
  3. If-esle statement controleert zowel op gelijkheid als op logische expressie. Aan de andere kant, schakelt de switch alleen naar gelijkheid.
  4. De if-opdracht evalueert integer, teken, aanwijzer, drijvende-kommatype of boolean-type. Aan de andere kant, switch statement evalueert alleen karakter of een integer gegevenstype.
  5. De volgorde van uitvoering is als een van de volgende statements als het blok wordt uitgevoerd of als de statements onder het else block statement worden uitgevoerd. Aan de andere kant bepaalt de expressie in switch-instructie welke case moet worden uitgevoerd en als u na elke case geen break-statement toepast, wordt deze uitgevoerd tot het einde van de switch-instructie.
  6. Als de uitdrukking inside als turn-outs false zijn, wordt het statement inside else-blok uitgevoerd. Als expressie in switch-instructie false is, worden standaardinstructies uitgevoerd.
  7. Het is moeilijk om if-else-instructies te bewerken omdat het vervelend is om te achterhalen waar de correctie vereist is. Aan de andere kant is het eenvoudig om switchstatements te bewerken, omdat ze gemakkelijk te traceren zijn.

Conclusie:

De schakeloptie is eenvoudig te bewerken omdat deze de afzonderlijke cases voor verschillende instructies heeft gemaakt, terwijl het in geneste if-else-instructies moeilijk wordt om de instructies te identificeren die moeten worden bewerkt.

Top