
Tablica usporedbe
Osnova za usporedbu | ako-drugo | prekidač |
---|---|---|
Osnovni, temeljni | Koja će se izjava izvršiti ovisi o izlazu izraza unutar if. | O kojoj će se izjavi odlučiti korisnik. |
Izraz | if-else izjava koristi višestruke izjave za višestruke izbore. | switch izjava koristi jedan izraz za višestruke izbore. |
Testiranje | if-else izjava testa za jednakost kao i za logički izraz. | test switch samo za jednakost. |
procjena | ako izraz ocjenjuje cijeli broj, znak, pokazivač ili vrstu s pomičnim zarezom ili boolean tip. | switch izjava procjenjuje samo znak ili cijeli broj. |
Redoslijed izvršenja | Ili ako se izvršava naredba ili se izvršava naredba. | prekidna izjava izvršava jedan slučaj za drugim dok se ne pojavi prekidna izjava ili kada se dosegne kraj naredbe switch. |
Zadano izvršenje | Ako je uvjet unutra ako su izjave lažni, tada se po defaultu izvršava naredba else ako je kreirana. | Ako se uvjet unutar izraza switch ne podudara s bilo kojim od slučajeva, za taj primjer se izvršavaju defaultni izrazi ako je kreiran. |
montaža | Teško je urediti naredbu if-else, ako se koristi ugrađeni izraz if-else. | Lako je uređivati preklopne slučajeve kao, oni se lako prepoznaju. |
Definicija if-else
Izjave if-else pripadaju izbornim izjavama u OOP-u. Opći oblik izjava if-else slijedi
if (izraz) {naredba (a)} else {izjava (i)}
gdje su "if" i "else" ključne riječi, a izjave mogu biti jedna izjava ili blok izjava. Izraz se procjenjuje kao "true" za bilo koju ne-nultu vrijednost, a za nulu se procjenjuje da je "false".
Izraz u izrazu if može sadržavati cijeli broj, znak, pokazivač, plutajuću točku ili može biti boolean tip. Izjava else nije obavezna u izjavi if-else. Ako izraz vraća istinu, naredbe unutar naredbe ako se izvrši i ako vrati lažne izraze unutar naredbe else izvršavaju se i, u slučaju da nije stvorena naredba else, ne provodi se nikakva radnja, a kontrola programa iskače izjave if-else.
Dopustite nam da shvatimo s primjerom.
int i = 45, j = 34; ako (i == 45 & j == 34) {cout << "izaberete tamni choclate"; pauza; case 2: cout << "odaberete slatkiše"; pauza; case 3: cout << "odaberete lizalicu"; pauza;, , default cout << "ne birate ništa"; }
Ovdje će vrijednost "i" odlučiti koji će se slučaj izvršiti, ako korisnik daje vrijednost "i" koja nije 1, 2 ili 3, tada se izvršava zadani slučaj.
Ključne razlike između if-else i prebaciti
- Izraz unutar if izraz odlučuje hoće li izvršiti naredbe unutar bloka if ili under else. S druge strane, izraz unutar izraza switch odlučuje koji će se slučaj izvršiti.
- Možete imati višestruki if izraz za višestruki izbor izjava. U prekidaču imate samo jedan izraz za višestruke izbore.
- Ako-esle izraz provjerava jednakost kao i logički izraz. S druge strane, prebacite provjere samo na jednakost.
- Izjava if procjenjuje cijeli broj, znak, pokazivač ili vrstu s pomičnim zarezom ili boolean tip. S druge strane, izraz switch koristi samo znak ili cijeli tip podataka.
- Redoslijed izvršenja je poput bilo izjave pod uvjetom da će se izvršiti blok ili izvršiti naredbe under else block statement. S druge strane, izraz u izrazu switch odlučuje koji će se slučaj izvršiti i ako ne primijenite break naredbu nakon svakog slučaja, izvršit će se do kraja switch naredbe.
- Ako je izraz iznutra ako su ispisi lažni, izvršit će se izjava unutar bloka else. Ako se izraz unutar izraza switch pokaže lažnim, tada se izvršavaju zadani izrazi.
- Teško je urediti if-else tvrdnje jer je zamorno pratiti gdje je potrebna korekcija. S druge strane, lako je uređivati naredbe prekidača jer ih je lako pratiti.
Zaključak:
Izraz switch je lako urediti jer je stvorio zasebne slučajeve za različite izjave, dok u ugniježđenim if-else izjavama postaje teško identificirati izjave koje treba urediti.