Anbefalet, 2024

Redaktørens Valg

Forskel mellem if-else og switch

"If-else" og "switch" er begge selektionsopgørelser. Udvælgelseserklæringerne overfører strømmen af ​​programmet til den specifikke blok af udsagn baseret på om tilstanden er "sand" eller "falsk". Den grundlæggende forskel mellem if-else og switch-udsagn er, at if-else-sætningen "vælger udførelsen af ​​udsagnene baseret på evalueringen af ​​udtrykket i hvis udsagn". Skifteudsagnene "vælger udførelsen af ​​sætningen ofte baseret på en tastaturkommando".

Sammenligningstabel

Grundlag for sammenligninghvis ellerskontakt
GrundlæggendeHvilket udsagn vil blive udført afhænger af udgangen af ​​udtrykket indenfor hvis erklæring.Hvilket udsagn vil blive udført, er bestemt af brugeren.
Ekspressionif-else-sætningen bruger flere sætninger til flere valg.switch statement bruger single udtryk til flere valg.
Testif-else erklæringstest for ligestilling såvel som for logisk udtryk.Skift sætningstest kun for ligestilling.
Evalueringhvis sætning evaluerer heltal, tegn, peger eller flydende punkttype eller boolesk type.Switch-sætningen evaluerer kun tegn eller heltalværdi.
Sekvens for udførelseEnten hvis erklæring vil blive udført eller ellers erklæringen udføres.skifte sætning udføre en sag efter den anden indtil en pause erklæring vises eller slutningen af ​​switch statement er nået.
StandardudførelseHvis tilstanden indenfor, hvis udsagn er falsk, bliver ellers-sætningen som standard udført, hvis den er oprettet.Hvis tilstanden inden for switch-sætninger ikke stemmer overens med nogen af ​​tilfælde, bliver standardopgørelserne i dette tilfælde udført, hvis de oprettes.
RedigeringDet er svært at redigere if-else-sætningen, hvis den indlejrede if-else-sætning anvendes.Det er nemt at redigere skiftetasker, da de let genkendes.

Definition af if-else

If-else-udsagnene tilhører valgopgørelser i OOP. Den generelle form for if-else erklæringer er som følger

 hvis (udtryk) {sætning (er)} ellers {sætning (er)} 

hvor "hvis" og "ellers" er nøgleordene, og udsagnene kan være en enkelt erklæring eller en blok af udsagn. Udtrykket vurderer at være "sandt" for enhver værdi, der ikke er nul, og for nul vurderes den for at være "false".
Udtrykket i hvis sætning kan indeholde et helt tal, tegn, peger, flydende punkt eller det kan være en boolesk type. Ellers erklæringen er valgfri i en if-else-erklæring. Hvis udtrykket returnerer sandt, udføres sætningerne indenfor hvis sætning udføres, og hvis den returnerer falsk, udføres udsagnene inde i andet sætning og i tilfælde af at en anden erklæring er en ikke oprettet, udføres ingen handling, og programstyringen hopper ud af en if-else-erklæring.

Lad os forstå med et eksempel.

 int i = 45, j = 34; hvis (i == 45 & j == 34) {cout << "jeg vælger mørk chokolade"; pause; sag 2: cout << "du vælger slik"; pause; sag 3: cout << "du vælger lollypop"; pause; . . standard cout << "du vælger intet"; } 

Her bestemmer værdien af ​​"i", hvilken sag der skal udføres, hvis en bruger giver værdien af ​​"i" ud over 1, 2 eller 3, bliver standard tilfældet udført.

Nøgleforskelle mellem if-else og switch

  1. Udtryk inde i hvis erklæring bestemmer, om der skal udføres udsagnene indenfor, hvis blok eller under andet blok. På den anden side bestemmer udtrykket inde i omstillingsoversigt, hvilken sag der skal udføres.
  2. Du kan have flere hvis erklæring for flere valg af udsagn. I omskifter har du kun ét udtryk for flere valg.
  3. If-esle-erklæringen kontrollerer ligestilling såvel som logisk udtryk. På den anden side skal du kun skifte kontrol for ligestilling.
  4. If-sætningen evaluerer heltal, tegn, peger eller flydende punkttype eller boolesk type. På den anden side evaluerer omstillingsopgørelsen kun karakter eller et heltalsdatatype.
  5. Sekvens for udførelse er som enten erklæring under hvis blok vil udføre eller udsagn under ellers blokoversigt vil udføre. På den anden side bestemmer udtrykket i omstillingsoversigt, hvilket tilfælde der skal udføres, og hvis du ikke anvender en pauseopgørelse efter hvert tilfælde, vil den udføre indtil slutningen af ​​switch-sætningen.
  6. Hvis ekspression indenfor hvis slå ud for at være falsk, vil erklæring inde i andet blok blive udført. Hvis ekspression indenfor switch-sætningen viser sig at være falsk, udføres standard sætninger.
  7. Det er svært at redigere if-else udsagn, da det er kedeligt at spore, hvor korrektionen er påkrævet. På den anden side er det nemt at redigere switch-udsagn, da de er nemme at spore.

Konklusion:

Switch-sætningen er let at redigere, da den har skabt de separate tilfælde til forskellige udsagn, mens det i nestede if-else-sætninger bliver svært at identificere de udsagn, der skal redigeres.

Top