Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi if-else a switch

Ak sú "inak" a "prepínať", jedná sa o výkazy výberu. Príkazy o výbere prenášajú tok programu na konkrétny blok vyhlásení na základe toho, či je podmienka "true" alebo "false". Základným rozdielom medzi vyhláseniami if-else a switch je, že príkaz if-else "vyberá vykonanie vyhlásení na základe vyhodnotenia výrazu v príkaze if." Príkazy prepínača "vyberie vykonanie výkazu často na základe príkazu klávesnice".

Porovnávacia tabuľka

Základ pre porovnanieif-elseprepínač
základnéKtoré vyhlásenie sa vykoná závisí od výstupu výrazu vo vnútri if.Ktoré vyhlásenie bude vykonané rozhodne používateľ.
vyjadreniepríkaz if-else používa viacnásobné vyhlásenie pre viacero možností.switch prepínač používa jeden výraz pre viac možností.
testovanieif-else test pre rovnosť i logický výraz.test výkazu prepínačov iba pre rovnosť.
ohodnotenieak vyhlásenie hodnotí celé číslo, znak, ukazovateľ alebo typ s pohyblivou čiarkou alebo booleovský typ.prepínač hodnotí len hodnotu znaku alebo celú hodnotu.
Postupnosť vykonávaniaBuď ak sa vyhlásenie vykoná alebo iný príkaz sa vykoná.prepínač spustiť jeden prípad za druhým, až sa objaví vyhlásenie break alebo sa dosiahne koniec výkazu prepínača.
Predvolené spustenieAk je podmienka v prípade, že vyhlásenia sú nepravdivé, potom sa predvolene vykoná príkaz else, ak je vytvorený.Ak sa podmienka vo vyhláseniach prepínača nezhoduje s niektorým z prípadov, pre danú inštanciu sa štandardné príkazy vykonajú, ak sú vytvorené.
úpravyJe ťažké upraviť príkaz if-else, ak sa použije vnorený príkaz if-else.Jednoducho upravovať spínače, pretože sú ľahko rozpoznateľné.

Definícia if-else

Príkazy if-else patria do výberových vyhlásení v OOP. Všeobecná forma vyhlásení if-else je nasledujúca

 if (výraz) {príkaz (y)} else {príkaz (y)} 

kde "if" a "else" sú kľúčové slová a vyhlásenia môžu byť jediným príkazom alebo blokom vyhlásení. Výraz sa považuje za "pravdivý" pre akúkoľvek nenulovú hodnotu a pre nulu sa hodnotí ako "nepravda".
Výraz v príkaze if môže obsahovať celé číslo, znak, ukazovateľ, pohyblivý bod alebo môže to byť booleovský typ. Príkaz else je voliteľný vo vyhlásení if-else. Ak sa výraz vráti pravdivý, príkazy vo vnútri, ak sa vykoná, a ak vráti falošné vyhlásenia vo vnútri iného vyhlásenia, vykonajú a v prípade, že iný príkaz nie je vytvorený, nevykoná sa žiadna akcia a kontrola programu vyskočí príkaz if-else.

Umožňuje nám to pochopiť pomocou príkladu.

 int i = 45, j = 34; ak (i ​​== 45 & j == 34) {cout << "ja si vyberiete tmavú choclate"; prestávka; prípad 2: cout << "si vyberiete cukrík"; prestávka; prípad 3: cout << "zvolíte lollypop"; prestávka;, , default cout << "nevyberiete nič"; } 

Tu sa hodnota "i" rozhodne, ktorý prípad sa má vykonať, ak používateľ dáva hodnotu "i" inú ako 1, 2 alebo 3, potom sa vykoná predvolený prípad.

Kľúčové rozdiely medzi if-else a switch

  1. Výraz vo vnútri, ak vyhlásenie rozhodne, či sa má vykonať vyhlásenie vo vnútri bloku alebo pod iným blokom. Na druhej strane výraz vo vnútri prepínača rozhoduje o tom, ktorý prípad sa má vykonať.
  2. Môžete mať viacnásobný príkaz pre viacnásobný výber výpisov. V prepínači máte iba jeden výraz pre viacero možností.
  3. Príkaz if-esle kontroluje rovnosť i logický výraz. Na druhej strane, prepínač kontroluje iba rovnosť.
  4. Príkaz if hodnotí celé číslo, znak, ukazovateľ, typ s pohyblivou čiarkou alebo booleovský typ. Na druhej strane výkaz prepínača hodnotí iba typ znaku alebo celé číslo.
  5. Postupnosť vykonávania je buď ako vyhlásenie v prípade, ak sa blok vykoná, alebo príkazy pod iným blokovým výkazom sa vykonajú. Na druhej strane výraz vo výkaze prepínača rozhoduje o tom, ktorý prípad sa má vykonať a ak neuplatníte vyhlásenie o prerušení po každom prípade, vykoná sa až do konca výkazu prepínača.
  6. Ak je výraz vo vnútri v prípade, že sa obrátiť na nepravdivé, vykoná sa vyhlásenie vo vnútri iného bloku. Ak sa vyjadrenie vo vnútri prepínača stane nepravdivým, vykonajú sa predvolené príkazy.
  7. Je ťažké upraviť vyhlásenia if-else, pretože je namáhavé sledovať, kde je potrebná korekcia. Na druhej strane je ľahké editovať prepínače, pretože sú ľahko vysledovateľné.

záver:

Príkaz prepínača sa dá ľahko upraviť, pretože vytvára samostatné prípady pre rôzne výkazy, zatiaľ čo vo vnorených vyhláseniach if-else sa stáva ťažké určiť vyhlásenia, ktoré sa majú upraviť.

Top