Különbség az if-else és a váltás között

Szerző: Laura McKinney
A Teremtés Dátuma: 2 Április 2021
Frissítés Dátuma: 5 Lehet 2024
Anonim
Különbség az if-else és a váltás között - Technológia
Különbség az if-else és a váltás között - Technológia

Tartalom


A „If-else” és a „switch” egyaránt kiválasztási nyilatkozatok. A kiválasztási utasítások átviszik a program folyamatát az adott mondatblokkba annak alapján, hogy a feltétel „igaz” vagy „hamis”. Az if-else és a switch állítások közötti alapvető különbség az, hogy az if-else utasítás „az utasítások végrehajtását választja ki az if-utasítások kifejezésének kiértékelése alapján”. A kapcsoló utasítások „kiválasztják az utasítás végrehajtását, gyakran billentyűzet parancs alapján”.

  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapjaha máskapcsoló
AlapvetőAz, hogy melyik utasítás kerül végrehajtásra, az if utasításon belüli kifejezés kimenetétől függ.A végrehajtandó nyilatkozatot a felhasználó dönt.
KifejezésAz if-else utasítás több állítást használ több választáshoz.A switch utasítás egyetlen kifejezést használ több választáshoz.
Tesztelésif-else állításteszt az egyenlőség és a logikai kifejezés szempontjából.kapcsoló utasítás tesztet csak az egyenlőség érdekében.
Értékelésha az utasítás értéke egész, karakter, mutató vagy lebegőpontos vagy logikai típus.A switch utasítás csak a karakter vagy az egész értéket értékeli.
A végrehajtás sorrendjeVagy ha az utasítás végrehajtásra kerül, vagy ha az végrehajtásra kerül.A kapcsoló utasítás végrehajtja az egyes eseteket a másik után, amíg meg nem jelenik a törés utasítás, vagy nem érkezik a kapcsoló utasítás vége.
Alapértelmezett végrehajtásHa a nyilatkozatokban szereplő feltétel hamis, akkor alapértelmezés szerint a else utasítás kerül végrehajtásra, ha létrejön.Ha a kapcsoló utasításokon belüli feltétel nem egyezik meg az egyik esettel, akkor az alapértelmezett utasítások végrehajtásra kerülnek, ha létrejönnek.
SzerkesztésNehéz szerkeszteni az if-else utasítást, ha a beágyazott if-else utasítást használjuk.Könnyű szerkeszteni a kapcsoló eseteket, mivel ezeket könnyen felismerik.

Az if-else meghatározása

Az if-else utasítások az OOP kiválasztási utasításaihoz tartoznak. Az if-else állítások általános formája a következő


if (kifejezés) {nyilatkozat (ok)} egyéb {nyilatkozat (ok)}

ahol „ha” és „egyéb” a kulcsszavak, és az állítások lehetnek egyetlen állítások vagy mondatok blokkjai. A kifejezés „igaznak” bizonyul minden nullán kívüli értéknél, és nulla esetében hamisnak értékeli.
Az if kifejezésben szereplő kifejezés tartalmazhat egész számot, karaktert, mutatót, lebegőpontot, vagy lehet logikai típusú. A else utasítás opcionális az if-else utasításban. Ha a kifejezés visszatér igaz, akkor a kijelentések végrehajtásakor az utasítások belül hamisnak bizonyulnak, az egyéb utasításban lévő utasítások végrehajtásra kerülnek, és ha egy másik utasítás nem létrejön, akkor nem hajtják végre a műveletet, és a program irányítása kiugrik egy if-else nyilatkozatot.


Lehetővé teszi, hogy megértsük egy példával.

int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i =" <

A kapcsoló meghatározása

A kapcsoló utasítások feleletválasztós választási utasítás. A váltási nyilatkozat általános formája a következő

kapcsoló (kifejezés) {eset állandó1: állítás (ok); szünet; esettanál2: állítás (ok); szünet; eset állandó3: állítás (ok); szünet; . . alapértelmezett nyilatkozat (ok); }

Ahol a kifejezés egész számot vagy karakterállandókat értékel. Az itt szereplő kifejezés csak az egyenlőség szempontjából értékeli. A kifejezést az esetleírásokban szereplő állandókkal ellenőrzik. Ha egyezés található, akkor az adott esethez kapcsolódó állítások kerülnek végrehajtásra, amíg „szünet” meg nem történik. Mivel a törés utasítás opcionális az eseti utasításokban, ha a törés utasítás nincs jelen, akkor a végrehajtás a kapcsoló utasítás végéig nem áll le.
A kifejezés csak egyetlen kifejezést tartalmaz. A kapcsoló utasítás gyakran billentyűzet parancsot használ, hogy válasszon egyet a több esetnyi állítás közül.

int c; cout << "válassza az értéket 1-3-ig"; cin >> i; kapcsoló (i) {1. eset: cout << "sötét csokoládét választasz"; szünet; 2. eset: cout << "Ön cukorkát választ"; szünet; 3. eset: cout << "Ön választja a lollypopot"; szünet; . . alapértelmezett cout << "semmit nem választ"; }

Itt az „i” értéke határozza meg, hogy mely esetet kell végrehajtani, ha a felhasználó az „i” értéket adja meg, az 1., 2. vagy 3. kivételével, akkor az alapértelmezett eset kerül végrehajtásra.

  1. Kifejezés belül, ha az utasítás eldönti, hogy végrehajtja-e az utasításokat blokkban vagy más blokk alatt. Másrészt a kapcsoló utasításban szereplő kifejezés dönt arról, hogy mely esetet kell végrehajtani.
  2. Többféle kijelentés esetén többféle utasítás is lehet. A kapcsolónál csak egy kifejezés van a választáshoz.
  3. Az if-esle utasítás ellenőrzi az egyenlőséget és a logikai kifejezést. Másrészt a kapcsoló csak az egyenlőség ellenőrzésére irányul.
  4. Az if utasítás egész számot, karaktert, mutatót vagy lebegőpontos vagy logikai típust értékel. Másrészt a switch utasítás csak a karaktereket vagy egy egész adattípust értékeli.
  5. A végrehajtás szekvenciája olyan, mintha bármelyik utasítás alatt lenne, ha a blokk végre fog hajtani, vagy pedig a másik blokk utasítása végrehajtja. Másrészt a kapcsoló utasításban szereplő kifejezés dönti el, hogy melyik esetet hajtja végre, és ha nem alkalmaz szüneteltetést minden egyes eset után, akkor a kapcsoló utasítás végéig fog végrehajtani.
  6. Ha a kifejezés hamisnak bizonyul, akkor hamis lesz, akkor az egyéb blokkban lévő utasítás kerül végrehajtásra. Ha a kapcsoló utasításban szereplő kifejezés hamisnak bizonyul, akkor az alapértelmezett utasítások kerülnek végrehajtásra.
  7. Nehéz szerkeszteni az if-else állításokat, mivel unalmas nyomon követni, hogy hol szükséges a javítás. Másrészt a kapcsoló utasítások szerkesztése egyszerű, mivel könnyen követhetők.

Következtetés:

A kapcsoló utasítás könnyen szerkeszthető, mivel különálló esetekben hozta létre a különféle utasításokat, míg a beágyazott if-else utasításokban nehéz lesz azonosítani a szerkesztendő utasításokat.