Preporučeno, 2024

Izbor Urednika

Razlika između if-else i prebacivanja

"If-else" i "switch" su obje izjave o odabiru. Izjave o odabiru prenose tijek programa na određeni blok izjava ovisno o tome je li uvjet "true" ili "false". Temeljna razlika između if-else i switch izjava je u tome što izjava if-else “odabire izvršenje izraza na temelju procjene izraza u if izjavama”. Izjave switcha "odabire izvršenje izraza često na temelju naredbe tipkovnice".

Tablica usporedbe

Osnova za usporedbuako-drugoprekidač
Osnovni, temeljniKoja će se izjava izvršiti ovisi o izlazu izraza unutar if.O kojoj će se izjavi odlučiti korisnik.
Izrazif-else izjava koristi višestruke izjave za višestruke izbore.switch izjava koristi jedan izraz za višestruke izbore.
Testiranjeif-else izjava testa za jednakost kao i za logički izraz.test switch samo za jednakost.
procjenaako 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šenjaIli 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šenjeAko 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žaTeš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

  1. 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.
  2. Možete imati višestruki if izraz za višestruki izbor izjava. U prekidaču imate samo jedan izraz za višestruke izbore.
  3. Ako-esle izraz provjerava jednakost kao i logički izraz. S druge strane, prebacite provjere samo na jednakost.
  4. 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.
  5. 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.
  6. 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.
  7. 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.

Top