Razlika između if-else i prebacivanja
Sadržaj
"If-else" i "Switch" su izjave o odabiru. Izjave o odabiru prenose tok programa u određeni blok izjava na temelju je li uvjet "istina" ili "lažno". Temeljna razlika između if-else i preklopnih izjava je da naredba if-else "odabire izvršenje izraza na temelju procjene izraza u izjavama if". Izjave o preklopnici "odabir izvođenja izjave često temelji na naredbi tipkovnice".
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon
Osnove za usporedbu | ako-drugo | prekidač |
---|---|---|
Osnovni, temeljni | Koja će se izjava izvršiti ovisi o izlazu izraza unutar if. | Koja će izjava biti izvršena, odlučuje korisnik. |
Izraz | ako-else izjava koristi više iskaza za više izbora. | switch izjava koristi jedan izraz za više izbora. |
Testiranje | if-else test test jednakosti kao i logičkog izraza. | preskusni test samo za jednakost. |
procjena | ako izraz procjenjuje cijeli broj, znak, pokazivač ili vrstu s pomičnom zarezom ili logički tip. | Izjava prekidača procjenjuje samo znak ili cijelu vrijednost. |
Slijed izvršenja | Ili će biti izvršena naredba ili je naredba izvršena. | Izjava sklopke izvršava jedan slučaj za drugim dok se ne pojavi izjava o prekidu ili ne dođe do kraja izjave prekidača. |
Zadana izvedba | Ako je uvjet unutar ako su izjave lažne, tada se po zadanom izvršava naredba else ako je stvorena. | Ako se uvjet unutar izvoda prebaci ne podudara ni s jednim slučajem, za tu se primjeru zadani izrazi izvršavaju ako su stvoreni. |
uređivanje | Teško je urediti izjavu if-else ako se koristi ugniježđena stavka if-else. | Slučajeve prebacivanja jednostavno je urediti jer se lako prepoznaju. |
Definicija ako-drugo
Izjave if-else pripadaju izjavama za odabir u OOP-u. Opći oblik if-else izjava je sljedeći
if (izraz) {izjava (e)} else {izjava (e)}
gdje su ključne riječi "ako" i "drugo", a izjave mogu biti jedna izjava ili blok izjava. Izraz procjenjuje da je "istina" za bilo koju nultu vrijednost, a za nulu "lažnu".
Izraz ako izjava može sadržavati cijeli broj, znak, pointer, plutajuću točku ili može biti logički tip. Izjava else nije obavezna u slučaju if-else. Ako se izraz vrati true, iskazi unutar if iskaza se izvršavaju, a ako vraća false, izjave unutar naredbe else se izvršavaju, a u slučaju da se druga stavka ne kreira, ne vrši se nikakva akcija, a kontrola programa iskoči izjave ako-else.
Omogućuje nam razumijevanje na primjeru.
int i = 45, j = 34; ako je (i == 45 & j == 34) {cout << "i =" < Definicija prekidača
Izjave o prebacivanju su izjave izbora višestrukog izbora. Opći oblik izjave o prebacivanju je sljedeći
sklopka (izraz) {case Constant1: izjava (i); pauza; konstanta slučaja2: izjava (e); pauza; konstanta slučaja3: izjava (e); pauza; , , zadane izjave; }
Gdje izraz procjenjuje cjelobrojne ili znakovne konstante. Ovdje izraz samo ocjenjuje jednakost. Izraz se provjerava u odnosu na konstante prisutne u izjavama slučaja. Ako se nađe podudaranje, izjave povezane s tim slučajem izvršavaju se, sve dok se ne dogodi "prijelom". Kako izjava o prekidu nije obavezna u izjavama slučaja, ako izjava o prekidu tada nije prisutna, izvršenje se ne zaustavlja do kraja izjave prekidača.
Izraz sadrži samo jedan izraz. Izjava o prebacivanju često koristi naredbu na tipkovnici da bi odabrali jedan od više izraza.
int c; cout << "odaberite vrijednost od 1 do 3"; cin >> I; switch (i) {case 1: cout << "odabireš tamni čokoladu"; pauza; slučaj 2: cout << "ti biraš slatkiše"; pauza; slučaj 3: cout << "odaberete lollypop"; pauza; , , default cout << "ne biraš ništa"; }
Ovdje će vrijednost „i“ odrediti koji će se slučaj izvršiti, ako korisnik da vrijednost „i“ koja nije 1, 2 ili 3, tada se izvršava zadani slučaj.
- Izraz unutar ako izraz određuje da li će se izvršavati izjave unutar if blok ili ispod else bloka. S druge strane, izraz unutar izjave prekidača odlučuje koji slučaj izvršiti.
- Možete imati više if ako je izjava za više izbora. Zauzvrat imate samo jedan izraz za višestruke mogućnosti.
- Izjava es-es provjerava jednakost kao i logički izraz. S druge strane, prebacite provjere samo na jednakost.
- Izjava if procjenjuje cijeli broj, znak, pokazivač ili tip s pomičnom zarezom ili logički tip. S druge strane, izjava sklopke procjenjuje samo znak ili cijeli broj podataka.
- Slijed izvođenja je poput bilo izjave pod ako će se blok izvršiti ili se izjave pod stavkom bloka izvršavaju. S druge strane, izraz u izvodu prekidača odlučuje koji slučaj izvršiti, a ako ne primijenite prijelomnu izjavu nakon svakog slučaja, izvršavat će se do kraja izjave prekidača.
- Ako je izraz iznutra ako se ispostavi da je lažan, izvršava se izjava unutar bloka. Ako se izraz unutar izjave prekidača pokaže neistinitim, tada se izvršavaju zadani izrazi.
- Teško je urediti izjave ako-else jer je zamorno pratiti gdje se ispravak traži. S druge strane, lako je uređivati izjave o prebacivanju jer ih je lako pronaći.
Zaključak:
Izjava o prebacivanju lako je uređivati jer je stvorila zasebne slučajeve za različite izjave dok u ugniježđenim izjavama ako-drugo postaje teško prepoznati izjave koje treba uređivati.