Rozdiel medzi if-else a switch

Autor: Laura McKinney
Dátum Stvorenia: 3 Apríl 2021
Dátum Aktualizácie: 5 Smieť 2024
Anonim
Rozdiel medzi anglickým "so" a "such" (ENG)
Video: Rozdiel medzi anglickým "so" a "such" (ENG)

Obsah


„If-else“ a „switch“ sú výberové vyhlásenia. Príkazy na výber prenášajú tok programu do konkrétneho bloku príkazov na základe toho, či je podmienka „true“ alebo „false“. Základný rozdiel medzi príkazmi if-else a switch je v tom, že príkaz if-else „vyberie vykonanie príkazov na základe vyhodnotenia výrazu v príkazoch if“. Príkazy spínača „vyberajú vykonanie príkazu často na základe príkazu klávesnice“.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnanieif-elseprepínač
základnéKtorý príkaz sa vykoná, závisí od výstupu výrazu vo vnútri výrazu if.O tom, ktoré vyhlásenie sa vykoná, rozhodne užívateľ.
vyjadreniePríkaz if-else používa viac príkazov pre viacero možností.Príkaz switch používa jeden výraz pre viac možností.
testovanietest príkazu if-else na rovnosť, ako aj na logické vyjadrenie.test príkazu switch iba na dosiahnutie rovnosti.
ohodnotenieak príkaz vyhodnocuje celé číslo, znak, ukazovateľ alebo typ s pohyblivou rádovou čiarkou alebo boolovský typ.Príkaz switch vyhodnocuje iba znakovú alebo celočíselnú hodnotu.
Postupnosť vykonaniaBuď, ak sa príkaz vykoná, alebo sa vykoná iný príkaz.príkaz switch vykoná jeden prípad za druhým, až kým sa neobjaví príkaz break alebo kým sa nedosiahne koniec príkazu switch.
Predvolené vykonanieAk je podmienka vo vnútri príkazu nepravdivá, potom sa štandardne vykoná príkaz else, ak je vytvorený.Ak podmienka vo vnútri príkazov prepínača nezodpovedá žiadnemu z týchto prípadov, pre tento prípad sa predvolené príkazy vykonajú, ak boli vytvorené.
editáciaJe ťažké upraviť príkaz if-else, ak sa používa vnorený príkaz if-else.Je ľahké upravovať prípady prepínačov, pretože sú ľahko rozpoznateľné.

Definícia if-else

Príkazy if-else patria k výberovým príkazom v OOP. Všeobecná forma vyhlásení if-else je takáto


if (expression) {vyhlásenie (s)} else {vyhlásenie (s)}

kde „ak“ a „iné“ sú kľúčové slová a príkazy môžu byť jediným príkazom alebo blokom príkazov. Výraz sa hodnotí ako „pravdivý“ pre každú nenulovú hodnotu a pre nulu sa hodnotí ako „nepravdivý“.
Výraz v výraze if môže obsahovať celé číslo, znak, ukazovateľ, pohyblivú desatinnú čiarku alebo to môže byť boolovský typ. Príkaz else je voliteľný v príkaze if-else. Ak sa výraz vráti true, vykonajú sa príkazy vo vnútri, ak sa príkaz vykoná, a ak sa vráti nepravdivé, vykonajú sa príkazy vo vnútri inde, a v prípade, že sa nevytvorí iný príkaz, nevykonáva sa žiadna akcia a kontrola programu vyskočí vyhlásenia if-else.

Umožňuje nám to porozumieť príkladom.

int i = 45, j = 34; ak (i ​​== 45 & j == 34) {cout << "i =" <

Definícia prepínača

Príkazy prepínača sú príkazom na výber s viacerými možnosťami. Všeobecná forma príkazu switch je nasledovná

prepínač (výraz) {case const1: Statement (s); prestávka; prípadová konštanta2: vyhlásenie (s); prestávka; prípadová konštanta3: vyhlásenie (s); prestávka; , , predvolené výpisy; }

Kde výraz vyhodnocuje celočíselné alebo znakové konštanty. Výraz tu vyhodnocuje iba rovnosť. Výraz sa overuje na základe konštánt prítomných v príkazoch. Ak sa nájde zhoda, vykonajú sa príkazy súvisiace s týmto prípadom, až kým nenastane „prestávka“. Pretože príkaz break je v príkazoch prípadu voliteľný, ak príkaz break nie je prítomný, vykonávanie sa nezastaví až do konca príkazu switch.
Výraz obsahuje iba jeden výraz. Príkaz switch často používa príkaz z klávesnice na výber jedného z viacerých príkazov case.

int c; cout << "zvoľte hodnotu od 1 do 3"; cin >> i; prepínač (i) {prípad 1: cout << "zvolíte tmavý choclate"; prestávka; Prípad 2: Cout << „Vyberiete si cukroví“; prestávka; prípad 3: cout << "zvolíte lollypop"; prestávka; , , default cout << "nevyberiete nič"; }

Tu hodnota „i“ rozhodne, ktorý prípad sa má vykonať, ak užívateľ uvedie hodnotu „i“ inú ako 1, 2 alebo 3, vykoná sa predvolený prípad.

  1. Vyjadrenie vo vnútri výrazu if rozhodne, či sa majú vykonať príkazy vo vnútri bloku if alebo v inom bloku. Na druhej strane výraz vo vyhlásení o prepnutí rozhodne, ktorý prípad sa má vykonať.
  2. Pre viac príkazov môžete mať viac príkazov if. V prepínači máte iba jeden výraz pre viac možností.
  3. Príkaz if-esle kontroluje rovnosť, ako aj logické vyjadrenie. Na druhej strane prepínač kontroluje iba rovnosť.
  4. Príkaz if vyhodnocuje celé číslo, znak, ukazovateľ alebo typ s pohyblivou rádovou čiarkou alebo boolovský typ. Na druhej strane príkaz switch vyhodnocuje iba znakový alebo celočíselný údajový typ.
  5. Postupnosť vykonania je ako príkaz pod príkazom if, ak sa blok vykoná, alebo príkazom pod príkazom block, ktorý sa vykoná. Na druhej strane výraz v príkaze switch rozhodne, ktorý prípad sa má vykonať a ak nepoužijete príkaz break po každom prípade, vykoná sa až do konca príkazu switch.
  6. Ak je výraz vo vnútri, ak sa ukáže, že je nepravdivý, vykoná sa príkaz vo vnútri bloku inde. Ak sa ukáže, že výraz vo vnútri príkazu switch je nepravdivý, vykoná sa predvolený príkaz.
  7. Je ťažké upravovať príkazy if-else, pretože je náročné sledovať, kde je potrebná oprava. Na druhej strane je ľahké upravovať príkazy prepínača, pretože sa dajú ľahko sledovať.

záver:

Príkaz switch sa dá ľahko editovať, pretože vytvoril samostatné prípady pre rôzne príkazy, zatiaľ čo vo vnorených príkazoch if-else je ťažké identifikovať príkazy, ktoré sa majú upraviť.