Verschil tussen if-else en schakelaar

Schrijver: Laura McKinney
Datum Van Creatie: 3 April 2021
Updatedatum: 5 Kunnen 2024
Anonim
difference between if else and switch statement | if else and switch case
Video: difference between if else and switch statement | if else and switch case

Inhoud


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

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingif-elseschakelaar
basis-Welke instructie wordt uitgevoerd, hangt af van de uitvoer van de expressie in if-instructie.Welke instructie wordt uitgevoerd, wordt bepaald door de gebruiker.
Uitdrukkingif-else-instructie gebruikt meerdere instructies voor meerdere keuzes.switch-opdracht gebruikt één expressie voor meerdere keuzes.
testenif-else statement test voor gelijkheid en voor logische expressie.schakel statement test alleen uit voor gelijkheid.
evaluatieif statement evalueert geheel getal, karakter, aanwijzer of drijvende-komma type of boolean type.schakelopdracht evalueert alleen teken- of geheel getalwaarde.
Volgorde van uitvoeringOfwel statement zal worden uitgevoerd of anders statement wordt uitgevoerd.switch-instructie voert de ene casus na de andere uit totdat er een break-instructie verschijnt of het einde van de switch-instructie is bereikt.
Standaard uitvoeringAls de voorwaarde binnen if-instructies false is, wordt standaard de instructie else uitgevoerd als deze wordt gemaakt.Als de voorwaarde in schakelinstructies niet overeenkomt met een van de gevallen, worden de standaardinstructies bijvoorbeeld uitgevoerd als ze worden gemaakt.
bewerkenHet is moeilijk om de instructie if-else te bewerken als de geneste if-else-instructie wordt gebruikt.Het is gemakkelijk om schakelkasten te bewerken omdat ze gemakkelijk worden herkend.

Definitie van if-else

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


if (expression) {statement (s)} else {statement (s)}

waarbij "if" en "else" de trefwoorden zijn en de statements een enkele statement of een block of statements kunnen zijn. De uitdrukking wordt als 'waar' geëvalueerd voor elke niet-nulwaarde en voor nul wordt deze als 'onwaar' geëvalueerd.
De uitdrukking in if-instructie kan een geheel getal, teken, aanwijzer, drijvend punt of een boolean-type bevatten. De instructie else is optioneel in een instructie if-else. Als de uitdrukking true retourneert, worden de instructies in if-instructie uitgevoerd en als het false retourneert, worden de statements in else-instructie uitgevoerd en, in het geval dat een else-instructie niet is aangemaakt, wordt er geen actie uitgevoerd en springt de controle 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 =" <

Definitie van schakelaar

De schakelinstructies zijn een multiple choice selectie-instructie. De algemene vorm van de schakelinstructie is als volgt

switch (expression) {case constant1: statement (s); breken; case constant2: statement (s); breken; case constant3: statement (s); breken; . . standaardverklaring (en); }

Waar de uitdrukking een geheel getal of tekenconstanten evalueert. De uitdrukking hier evalueert alleen voor gelijkheid. De uitdrukking wordt geverifieerd tegen de constanten die aanwezig zijn in de case-statements. Als een overeenkomst wordt gevonden, worden de uitspraken in verband met die zaak uitgevoerd, totdat er een "pauze" optreedt. Omdat de break-instructie optioneel is in de case-statements, stopt de uitvoering niet tot het einde van de switch-instructie als de break-instructie niet aanwezig is.
De uitdrukking bevat slechts één uitdrukking. De schakelopdracht gebruikt vaak een toetsenbordopdracht om er een te kiezen uit de meerdere hoofdletters.

int c; cout << "kies de waarde van 1 tot 3"; cin >> i; schakelaar (i) {case 1: cout << "u kiest voor donkere choclate"; breken; case 2: cout << "jij kiest snoep"; breken; case 3: cout << "u kiest voor lollypop"; breken; . . standaard cout << "u kiest niets"; }

Hier bepaalt de waarde van "i" welke case moet worden uitgevoerd, als een gebruiker de waarde van "i" anders dan 1, 2 of 3 geeft, wordt de standaardcase uitgevoerd.

  1. Expressie binnen if-instructie besluit of de instructies binnen if block worden uitgevoerd of anders block. Aan de andere kant bepaalt expressie in de schakelopdracht welke case moet worden uitgevoerd.
  2. U kunt meerdere if-instructies hebben voor meerdere keuzes voor statements. Bij het omschakelen hebt u slechts één uitdrukking voor de meerdere keuzes.
  3. If-esle-instructie controleert op gelijkheid en op logische expressie. Aan de andere kant, schakel controles alleen op gelijkheid.
  4. De instructie if evalueert het type geheel getal, teken, aanwijzer of drijvende-komma of boolean. Aan de andere kant evalueert switch statement alleen het karakter of een geheel gegevenstype.
  5. De volgorde van uitvoering is als een van beide instructies onder als blok wordt uitgevoerd of instructies onder anders wordt blokinstructie uitgevoerd. Aan de andere kant bepaalt de uitdrukking in switch-instructie welke case moet worden uitgevoerd en als u na elke case geen break-instructie toepast, wordt deze uitgevoerd tot het einde van de switch-instructie.
  6. Als de expressie binnen als onjuist blijkt te zijn, wordt de instructie in het andere blok uitgevoerd. Als de uitdrukking in de instructie switch onwaar is, worden standaardinstructies uitgevoerd.
  7. Het is moeilijk om if-else-instructies te bewerken, omdat het lastig is om te achterhalen waar de correctie is vereist. Aan de andere kant is het gemakkelijk om schakelinstructies te bewerken omdat ze gemakkelijk te traceren zijn.

Gevolgtrekking:

De switch-instructie is eenvoudig te bewerken omdat deze de afzonderlijke gevallen voor verschillende statements heeft gecreëerd, terwijl het in geneste if-else-instructies moeilijk wordt om de te bewerken statements te identificeren.