Ero if-else ja vaihtaa välillä
Sisältö
“Jos muu” ja “vaihtaa” ovat molemmat valintalausekkeita. Valintalausekkeet siirtävät ohjelman virtauksen tiettyyn lauseiden lohkoon sen perusteella, onko ehto tosi vai epätosi. Periaatteellinen ero if-else- ja switch-lauseiden välillä on se, että if-else -lause “valitsee lauseiden suorituksen perustuen lausekkeen if-lausekkeisiin arviointiin”. Vaihtolauseet “valitsevat lauseen suorituksen usein näppäimistökomennon perusteella”.
- Vertailutaulukko
- Määritelmä
- Keskeiset erot
- johtopäätös
Vertailutaulukko
Vertailun perusteet | tai muuten | vaihtaa |
---|---|---|
perustiedot | Mikä lausunto suoritetaan, riippuu lausekkeen sisällöstä, jos lause. | Käyttäjä päättää, mikä käsky suoritetaan. |
Ilmaisu | if-else-käsky käyttää useita lauseita useisiin valintoihin. | kytkinlauseke käyttää yhtä lauseketta useissa valinnoissa. |
Testaus | if-else-lausekkeen testi tasa-arvoon sekä loogiseen ilmaisuun. | Vaihda lause testi vain tasa-arvoon. |
arviointi | jos lausunto arvioi kokonaisluku-, merkki-, osoitin- tai liukuluku- tai boolean-tyyppiä. | kytkinlauseke arvioi vain merkin tai kokonaisluvun arvon. |
Suoritusjärjestys | Joko lausunto toteutetaan vai muuten käsky suoritetaan. | kytkinlauseke suorittaa yhden tapauksen toisensa jälkeen, kunnes tauonlasku ilmestyy tai vaihtolauseen loppu on saavutettu. |
Tehdasasetus | Jos lauseiden sisällä oleva ehto on väärä, niin muuten lauseke suoritetaan oletuksena, jos se luodaan. | Jos kytkinlausekkeiden sisällä oleva ehto ei vastaa yhtäkään tapausta, tälle esimerkiksi suoritetaan oletuslausekkeet, jos ne luodaan. |
muokkaaminen | If-else-käskyn muokkaaminen on vaikeaa, jos käytetään sisäkkäistä if-else -käskyä. | Kytkentätapauksia on helppo muokata, koska ne tunnistetaan helposti. |
Määritelmä if-else
If-else-lauseet kuuluvat OOP: n valintalausekkeisiin. If-else-lauseiden yleinen muoto on seuraava
if (lauseke) {lausunto (t)} muu {lause (t)}
jossa "jos" ja "muu" ovat avainsanoja, ja lauseet voivat olla yksi lause tai lauseiden ryhmä. Lauseke arvioidaan olevan "totta" kaikille arvoille, jotka eivät ole nollia, ja nollalle se arvioidaan olevan "vääriä".
Jos lauseessa lauseke voi sisältää kokonaisluvun, merkin, osoittimen, liukuluku tai se voi olla boolean tyyppi. Muu lauseke on valinnainen if-else-lauseessa. Jos lauseke palaa totta, lauseet sisällä, jos lause suoritetaan, ja jos se palauttaa väärät, muut käskyn sisällä olevat lauseet suoritetaan ja jos muuta käskyä ei luoda, mitään toimintoa ei suoriteta, ja ohjelman ohjaus hyppää ulos if-else-lausunnosta.
Antaa meidän ymmärtää esimerkillä.
int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i =" < Määritelmä kytkin
Vaihtolauseet ovat monivalintalausekkeet. Vaihtolausekkeen yleinen muoto on seuraava
kytkin (lauseke) {tapausvaki1: lause (t); tauko; tapausvakio2: lausunto (t); tauko; tapausvakio3: lausunto (t); tauko; . . oletuslauseke (t); }
Missä lauseke arvioi kokonaislukua tai merkkivakioita. Tässä oleva ilmaisu arvioi vain tasa-arvoa. Lauseke varmennetaan tapauslausekkeissa esiintyvien vakioiden perusteella. Jos vastaavuus löytyy, kyseiseen tapaukseen liittyvät lausunnot suoritetaan, kunnes ”tauko” tapahtuu. Koska tauonlasku on valinnainen tapauslausekkeissa, jos katkoksia ei ole, suorittaminen ei lopu ennen vaihtolausekkeen loppua.
Lause sisältää vain yhden lausekkeen. Vaihtolause käyttää usein näppäimistökomentoa valitaksesi yhden useista tapauslauseista.
int c; cout << "valitse arvo välillä 1 - 3"; cin >> I; kytkin (i) {tapaus 1: cout << "valitset tumman suklaan"; tauko; tapaus 2: cout << "valitset karkkia"; tauko; tapaus 3: cout << "valitset lollypop"; tauko; . . oletus cout << "et valitse mitään"; }
Tässä “i” -arvo päättää, mikä tapaus suoritetaan, jos käyttäjä antaa muun arvon “i” kuin 1, 2 tai 3, suoritetaan oletustapaus.
- Lauseke lauseen sisällä, jos päätetään, suoritetaanko lauseet sisällä, jos lohko vai ala muuna. Toisaalta lauseke kytkinlausekkeen sisällä päättää, mikä tapa suoritetaan.
- Monivalintalauseilla voi olla useita if-lauseita. Vaihteessa sinulla on vain yksi lauseke monivalinnoille.
- If-esle-lause tarkistaa tasa-arvon sekä loogisen lausekkeen. Toisaalta, vaihda tarkastuksia vain tasa-arvon suhteen.
- If-lause arvioi kokonaisluku-, merkki-, osoitin- tai liukuluku- tai boolean-tyyppiä. Toisaalta kytkinlauseke arvioi vain merkin tai kokonaisluvun datatyypin.
- Suoritusjärjestys on kuin joko lause alla, jos lohko toteuttaa, tai muut lauseen alla olevat lauseet suorittavat. Toisaalta kytkinlausekkeessa oleva lauseke päättää, minkä tapauksen suorittaa, ja jos et käytä katkaisulauseketta kunkin tapauksen jälkeen, se suorittaa vaihtolausekkeen loppuun saakka.
- Jos lauseke sisällä osoittautuu vääräksi, lausunto muu lohko sisällä suoritetaan. Jos lauseke kytkinlausekkeen sisällä osoittautuu vääräksi, oletuslausekkeet suoritetaan.
- Jos muu-lauseita on vaikea muokata, koska on tylsiä jäljittää missä korjausta tarvitaan. Toisaalta kytkinlausekkeita on helppo muokata, koska niitä on helppo jäljittää.
johtopäätös:
Vaihtolause on helppo muokata, koska se on luonut erilliset tapaukset eri lauseille, kun taas sisäkkäisissä if-else-lauseissa on vaikea tunnistaa muokattavia lauseita.