C# IF, Switch, For, While Loop -lauseiden opetusohjelma [esimerkkejä]
Flow Control ja ehdolliset lausekkeet
Vuon ohjaus ja ehdolliset lausekkeet ovat saatavilla millä tahansa ohjelmointikielellä ohjelman kulun muuttamiseksi.
Jos esimerkiksi joku haluaa suorittaa vain tietyn lausejoukon tietyn logiikan perusteella, Flow-ohjaus ja ehdolliset lauseet ovat hyödyllisiä.
Saat paremman käsityksen, kun käymme läpi erilaisia lausekkeita, jotka ovat saatavilla C#:ssa.
Huomaa, että kaikki alla oleva koodi on tehty Program.cs-tiedostoon.
1) Jos lausunto
If-lausetta käytetään loogisen lausekkeen arvioimiseen ennen lausekejoukon suorittamista. Jos lausekkeen arvo on tosi, se suorittaa yhden lausesarjan, muuten se suorittaa toisen lausejoukon.
Alla olevassa esimerkissämme tehdään vertailu muuttujalle nimeltä arvo. Jos muuttujan arvo on pienempi kuin 10, se suorittaa yhden lauseen tai muuten se suoritetaan toisella käskyllä.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 value = 11; if(value<10) { Console.WriteLine("Value is less than 10"); } else { Console.WriteLine("Value is greater than 10"); } Console.ReadKey(); } } }
Koodin selitys
- Määritämme ensin muuttujan nimeltä arvo ja asetamme sen arvoksi 11.
- Käytämme sitten if-lausetta tarkistaaksemme, onko muuttujan arvo pienempi kuin 10. Tulos on joko tosi tai epätosi.
- Jos if-ehto on tosi, lähetämme konsoliin viestin "Arvo on pienempi kuin 10".
- Jos if-ehto on epätosi, lähetämme konsoliin viestin "Arvo on suurempi kuin 10".
Jos yllä oleva koodi on syötetty oikein ja ohjelma suoritetaan onnistuneesti, seuraava tulos näytetään.
lähtö:
Voimme selvästi nähdä, että "jos"-lause arvioitiin vääräksi. Tästä syystä konsoliin lähetettiin viesti "Arvo on suurempi kuin 10".
2) Vaihda lausunto
Switch-käsky on parannus "if"-lauseeseen. Jos sinulla on useita lausekkeita, jotka on arvioitava yhdellä kertaa, useiden if-lauseiden kirjoittamisesta tulee ongelma.
Switch-käskyä käytetään lausekkeen arvioimiseen ja erilaisten lausekkeiden suorittamiseen lausekkeen tuloksen perusteella. Jos yksi ehto ei arvioi todeksi, kytkinkäsky siirtyy sitten seuraavaan ehtoon ja niin edelleen.
Katsotaanpa, kuinka tämä toimii alla olevan esimerkin avulla. Tässä verrataan jälleen 'value'-nimisen muuttujan arvoa. Tarkistamme sitten, onko arvo yhtä suuri kuin 1, 2 vai jotain aivan muuta.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 value=11; switch(value) { case 1: Console.WriteLine("Value is 1"); break; case 2: Console.WriteLine("Value is 2"); break; default: Console.WriteLine("value is different"); break; } } } }
Koodin selitys: -
- Määritämme ensin muuttujan nimeltä "arvo" ja asetamme sen arvoksi 11.
- Käytämme sitten 'switch'-käskyä tarkistaaksemme muuttujan 'value' arvon.
- Tapauslausekkeita käytetään eri ehtojen asettamiseen. Ehtojen perusteella voidaan suorittaa joukko lausekkeita. Switch-lauseella voi olla useita tapausehtoja. Ensimmäinen tapauskäsky tarkistaa, onko muuttujan arvo yhtä suuri kuin 1.
- Jos ensimmäinen tapauslause on tosi, konsoliin kirjoitetaan viesti "Arvo on 1".
- Break-lausetta käytetään eroamaan koko kytkinkäskystä, kun ehto on tosi.
- Oletusehto on erikoisehto. Tämä tarkoittaa vain sitä, että jos mikään tapauslauseke ei anna arvoa tosi, suorita oletusehdon lauseet.
Jos yllä oleva koodi on syötetty oikein ja ohjelma suoritetaan onnistuneesti, seuraava tulos näytetään. Tuloste tulostaa oletusarvon "Arvo on erilainen", koska mikään ehto ei täyty.
lähtö:
3) Silmukan ollessa
While-silmukkaa käytetään iteratiivisiin tarkoituksiin. Oletetaan, että jos haluat toistaa tietyn lausejoukon tietyn määrän kertoja, niin silmukkaa käytetään.
Alla olevassa esimerkissämme käytämme while-lausetta muuttujan 'i' arvon näyttämiseen. While-lausetta käytetään arvon näyttämiseen 3 kertaa.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 value=3,i=0; while(i<value) { Console.WriteLine(i); i=i+1; } Console.ReadKey(); } } }
Koodin selitys: -
- Kaksi kokonaislukua muuttujat on määritelty, joista toinen on arvo ja toinen 'i'. Arvomuuttujaa käytetään ylärajana, johon meidän tulee iteroida while-lause. Ja "i" on muuttuja, joka käsitellään iteroinnin aikana.
- While-lauseessa i:n arvoa tarkistetaan jatkuvasti ylärajaa vasten.
- Tässä näytämme 'i':n arvon konsolille. Lisäämme myös i:n arvoa.
Jos yllä oleva koodi on syötetty oikein ja ohjelma suoritetaan onnistuneesti, seuraava tulos näytetään.
lähtö:
Tästä näet, että while-lause suoritetaan 3 kertaa ja kasvatetaan samaan aikaan. Ja joka kerta se näytti muuttujan "i" nykyisen arvon.
4) Silmukkaa varten
For-silmukkaa käytetään myös iteratiivisiin tarkoituksiin. Oletetaan, että jos haluat toistaa tietyn lausejoukon tietyn määrän kertoja, käytetään forloopia.
Alla olevassa esimerkissämme käytämme 'for'-lausetta muuttujan 'i' arvon näyttämiseen. For-lausetta käytetään arvon näyttämiseen 3 kertaa.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { for(Int32 i=0;i<3;i++) { Console.WriteLine(i); } Console.ReadKey(); } } }
Koodin selitys: -
- "for"-avainsanaa käytetään "for-silmukka"-lausekkeen aloittamiseen.
- "For-silmukassa" määrittelemme 3 asiaa. Ensimmäinen on alustaa muuttujan arvo, jota käytetään 'for-silmukassa'.
- Toinen on verrata "i":n arvoa ylärajaan. Meidän tapauksessamme yläraja on arvo 3 (i<3).
- Lopuksi lisäämme 'i':n arvoa vastaavasti.
- Tässä näytämme 'i':n arvon konsolille.
Jos yllä oleva koodi on syötetty oikein ja ohjelma suoritetaan onnistuneesti, seuraava tulos näytetään.
lähtö:
Tässä näet, että 'for'-lause suoritetaan 3 kertaa. Ja joka kerta se näytti muuttujan "i" nykyisen arvon.