Razlika med if-else in preklopom

Avtor: Laura McKinney
Datum Ustvarjanja: 3 April 2021
Datum Posodobitve: 26 April 2024
Anonim
Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]
Video.: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]

Vsebina


"If-else" in "switch" sta obe izbirni stavki. Izbirni stavki prenašajo tok programa v določen blok stavkov na podlagi tega, ali je pogoj "resničen" ali "napačen". Temeljna razlika med stavki if-else in switch je, da stavek if-else "izbere izvedbo stavkov na podlagi ocene izraza v stavkih if". Stavke stikala "izbere izvedbo stavka pogosto na podlagi ukaza tipkovnice".

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoče potemstikalo
OsnovniKateri stavek bo izveden, je odvisen od izhoda izraza znotraj if stavka.Katera izjava bo izvedena, odloči uporabnik.
Izrazif-else stavek uporablja več stavkov za več možnosti.stavek preklopa uporablja en izraz za več možnosti.
Testiranječe-else sta preizkus enakosti kot tudi logičnega izražanja.preklopni test preizkus samo za enakost.
Vrednotenječe stavek ocenjuje celo število, znak, kazalec ali tip s plavajočo vejico ali logični tip.stavek stikala oceni samo znak ali celo število.
Zaporedje izvršitveBodisi, če se izjava izvrši ali pa se izjava izvrši.Izvedba stikala izvede en primer za drugim, dokler se ne pojavi izjava o prekinitvi ali doseže konec izjave stikala.
Privzeta izvedbaČe je pogoj znotraj, če so stavki lažni, se privzeto izvede stavek, če je ustvarjen.Če se pogoj v stavkih preklopa ne ujema z nobenim primerom, se v tem primeru privzeti stavki izvedejo, če so ustvarjeni.
UrejanjeTežko je urediti stavek if-else, če je uporabljen gnezdeni stavek if-else.Preklapljanje primerov je enostavno urejati, saj jih je enostavno prepoznati.

Opredelitev če-drugače

Stavki if-else spadajo v izbirne izjave v OOP-u. Splošna oblika stavkov if-else je sledeča


if (izraz) {izjava (e)} drugo {izjava (i)}

kjer sta ključni besedi "če" in "drugo", izjave pa so lahko ena sama izjava ali blok izjav. Izraz oceni kot "resničen" za vsako vrednost, ki ni enaka nič, za nič pa oceni kot "napačno".
Izraz v primeru, če stavek lahko vsebuje celo število, znak, kazalec, plavajočo vejico ali pa je lahko logični tip. Stavka else je neobvezna v stavku if-else. Če se izraz vrne true, se izrazi znotraj if izjave izvedejo in če vrne false, se izvajajo izjave znotraj stavka else, in v primeru, da je stavek else ne ustvarjen, nobenega dejanja ne izvede in nadzor programa skoči ven izjave če-drugače.

Naj nam razume s primerom.

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

Opredelitev stikala

Stavke stikala je izjava o izbiri z več izbirami. Splošna oblika izjave o stikalu je sledeča

stikalo (izraz) {case stal1: izjava (i); odmor; velikost primerov2: izjava (i); odmor; konstanta primerov3: izjava (i); odmor; . . privzeti stavki; }

Kjer izraz ocenjuje celo število ali znakovne konstante. Izraz tukaj samo ocenjuje enakost. Izraz je preverjen glede na konstante, ki so prisotne v izjavah primera. Če najdete ujemanje, se izjave, povezane s tem primerom, izvajajo, dokler ne pride do "preloma". Ker izjava o prekinitvi v izjavah primera ni obvezna, če izjava o prekinitvi ni prisotna, se izvedba ne ustavi do konca izjave stikala.
Izraz vsebuje samo en izraz. Izjava preklopa pogosto uporablja ukaz tipkovnice, da izbere enega med več stavki primerov.

int c; cout << "izberite vrednost od 1 do 3"; cin >> i; preklopite (i) {case 1: cout << "izberete temno čokolado"; odmor; primer 2: cout << "izberete sladkarije"; odmor; primer 3: cout << "izberete lollypop"; odmor; . . privzeta cout << "ničesar ne izbereš"; }

V tem primeru bo vrednost "i" odločila, kateri primer se bo izvedel, če uporabnik poda vrednost "i", ki ni 1, 2 ali 3, se izvrši privzeti slučaj.

  1. Izraz znotraj, če stavek odloči, ali naj izjave izvrši znotraj, če je blok ali pod drugim blokom. Po drugi strani pa izrazi v stavku stikala odločajo, kateri primer naj se izvede.
  2. Lahko imate več if, če je izjava za več možnosti. V stikalu imate samo en izraz za več možnosti.
  3. Izjava es-esle preverja enakost kot tudi logični izraz. Po drugi strani preklopite preverjanje le za enakost.
  4. Stavek if oceni celo število, znak, kazalec ali tip s plavajočo vejico ali logični tip. Po drugi strani stavek preklopa oceni samo znak ali celo vrsto podatkov.
  5. Zaporedje izvrševanja je tako kot izjava pod, če se bo blok izvršil, ali pa se bodo izvajali stavki pod stavkom blok. Po drugi strani pa se izraz v stavek preklopa odloči, kateri primer bo izveden in če po vsakem primeru ne uporabite izjave preloma, se bo izvajal do konca izjave stikala.
  6. Če je izraz znotraj, če se izkaže, da je napačen, bo izveden stavek znotraj drugega bloka. Če se izraz znotraj izjave stikala izkaže za napačen, se potem privzeti stavki izvedejo.
  7. Težko je urejati izjave if-else, saj je dolgočasno slediti, kje je potreben popravek. Po drugi strani je izjave stikal enostavno urejati, saj jih je enostavno izslediti.

Zaključek:

Izjava o stikalu je enostavno urediti, saj je ustvarila ločene primere za različne stavke, medtem ko je v ugnezdenih stavkih if-else težko prepoznati izjave, ki jih je treba urediti.