Srauto kontrolė ir sąlyginiai teiginiai
Srauto valdymas ir sąlyginiai teiginiai yra prieinami bet kuria programavimo kalba, siekiant pakeisti programos srautą.
Pavyzdžiui, jei kas nors nori vykdyti tik tam tikrą teiginių rinkinį, remdamasis tam tikra logika, bus naudingi srauto valdymas ir sąlyginiai teiginiai.
Geriau suprasite, kai mes nagrinėsime įvairius teiginius, kurie yra prieinami C #.
Atminkite, kad visas žemiau pateiktas kodas yra failas Program.cs.
Šioje pamokoje sužinosite
- Jei Pareiškimas
- Perjungti teiginį
- Nors kilpa
- Dėl kilpos
1) Jei teiginys
„If“ sakinys naudojamas loginei išraiškai įvertinti prieš vykdant sakinių rinkinį. Jei išraiška vertinama kaip teisinga, tada ji vykdys vieną sakinių rinkinį, kitaip ji vykdys kitą sakinių rinkinį.
Žemiau pateiktame pavyzdyje palyginamas kintamasis, vadinamas verte. Jei kintamojo vertė yra mažesnė nei 10, tada jis vykdys vieną sakinį arba kitu atveju.
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();}}}
Kodo paaiškinimas
- Pirmiausia apibrėžiame kintamąjį, vadinamą verte, ir nustatome jį į 11.
- Tada mes naudojame sakinį „jei“, kad patikrintume, ar reikšmė yra mažesnė nei 10 kintamojo. Rezultatas bus tikras arba klaidingas.
- Jei sąlyga „if“ vertinama kaip teisinga, tada į konsolę siunčiame pranešimą „Vertė yra mažesnė nei 10“.
- Jei sąlygos „if“ vertė yra klaidinga, tada į konsolę siunčiame pranešimą „Vertė yra didesnė nei 10“.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa sėkmingai vykdoma, bus rodoma ši išvestis.
Išvestis:
Mes aiškiai matome, kad teiginys „jei“ buvo įvertintas kaip klaidingas. Taigi į konsolę buvo išsiųstas pranešimas „Vertė yra didesnė nei 10“.
2) Perjungti teiginį
„Switch“ sakinys yra teiginio „jei“ patobulinimas. Jei turite kelis posakius, kuriuos reikia įvertinti vienu kadru, tada keleto teiginių „jei“ rašymas tampa problema.
„Switch“ sakinys naudojamas išraiškai įvertinti ir paleisti skirtingus teiginius pagal išraiškos rezultatą. Jei viena sąlyga nėra teisinga, jungiklio sakinys bus perkeltas į kitą sąlygą ir pan.
Pažiūrėkime, kaip tai veikia, pateikdami žemiau pateiktą pavyzdį. Čia mes vėl lyginame kintamojo, vadinamo „value“, vertę. Tada mes patikriname, ar vertė lygi 1, 2, ar kažkas visiškai kitokio.
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;}}}}
Kodo paaiškinimas: -
- Pirmiausia apibrėžiame kintamąjį, vadinamą „value“, ir nustatome jį į 11.
- Tada mes naudojame sakinį „switch“, kad patikrintume kintamojo „value“ vertę.
- Atvejų aprašymai naudojami skirtingoms sąlygoms nustatyti. Remiantis sąlygomis, galima vykdyti teiginių rinkinį. Jungiklio sakinys gali turėti kelias atvejo sąlygas. Pirmojo atvejo apraše patikrinama, ar kintamojo vertė lygi 1.
- Jei pirmasis atvejo teiginys yra teisingas, tada į konsolę rašomas pranešimas „Reikšmė yra 1“.
- Nutraukimo sakinys naudojamas pertraukai nuo viso jungiklio sakinio, kai tikra sąlyga yra teisinga.
- Numatytoji sąlyga yra speciali sąlyga. Tai tiesiog reiškia, kad jei nė viena atvejo išraiška nėra teisinga, paleiskite numatytosios sąlygos teiginių rinkinį.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa sėkmingai vykdoma, bus rodoma ši išvestis. Išvestyje atspausdinama numatytoji reikšmė „Reikšmė skiriasi“, nes nėra įvykdyta jokia sąlyga.
Išvestis:
3) Nors kilpa
„While“ kilpa naudojama iteraciniams tikslams. Tarkime, jei norite pakartoti tam tikrą teiginių rinkinį tam tikrą skaičių kartų, tada, kol naudojama kilpa.
Žemiau pateiktame pavyzdyje sakinį „while“ naudojame kintamojo „i“ vertei parodyti. Sakinys „while“ naudojamas rodyti vertę 3 kartus.
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(iKodo paaiškinimas: -
- Apibrėžti du sveikojo skaičiaus kintamieji, vienas yra reikšmė, kitas - „i“. Vertės kintamasis naudojamas kaip viršutinė riba, iki kurios turėtume kartoti savo while teiginį. „I“ yra kintamasis, kuris bus apdorotas iteracijos metu.
- „While“ sakinyje „i“ reikšmė nuolat tikrinama pagal viršutinę ribą.
- Čia mes parodome „i“ vertę konsolėje. Mes taip pat didiname „i“ vertę.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa sėkmingai vykdoma, bus rodoma ši išvestis.
Išvestis:
Čia galite pamatyti, kad „while“ sakinys vykdomas 3 kartus ir tuo pačiu metu didinamas. Kiekvieną kartą jis rodė dabartinę kintamojo „i“ vertę.
4) Dėl kilpos
Ciklas „už“ taip pat naudojamas kartojimo tikslams. Tarkime, jei norite pakartoti tam tikrą teiginių rinkinį tam tikrą skaičių kartų, tada naudojamas forloop.
Toliau pateiktame pavyzdyje sakinį „už“ naudojame rodydami kintamojo „i“ vertę. Teiginys „už“ naudojamas rodyti vertę 3 kartus.
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();}}}Kodo paaiškinimas: -
- Raktinis žodis „for“ naudojamas norint pradėti „for loop“ sakinį.
- „Už kilpą“ apibrėžiame 3 dalykus. Pirmasis yra inicijuoti kintamojo, kuris bus naudojamas „for loop“, vertę.
- Antrasis yra palyginti „i“ vertę su viršutine riba. Mūsų atveju viršutinė riba yra 3 reikšmė (i <3).
- Galiausiai atitinkamai padidiname „i“ vertę.
- Čia mes parodome „i“ vertę konsolėje.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa sėkmingai vykdoma, bus rodoma ši išvestis.
Išvestis:
Čia galite pamatyti, kad sakinys „už“ vykdomas 3 kartus. Kiekvieną kartą jis rodė dabartinę kintamojo „i“ vertę.