Switch-lausunto
Switch-lause toimii samalla tavalla kuin ehtolauseet, mutta se on hyödyllinen tietyissä tilanteissa.
switch-lauseen syntaksi on seuraava:
switch(expression)
{
case x:
// code block
break;
case y:
// code block
break;
case z:
// code block
break;
…
default:
// code block
break;
}
expression-lausekkeen tulosta verrataan tapauksiin x, y, z ja niin edelleen. Jos tulos vastaa jotakin tapausta, suoritetaan kyseisen tapauksen koodilohko. Jos mikään tapaus ei täsmää, suoritetaan default-koodilohko, jos se on määritelty. expression on useimmiten muuttuja. Kirjoitamme break-avainsanan jokaisen tapauksen koodilohkon jälkeen osoittamaan tapauksen päättymistä.
Seuraavassa on esimerkki:
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int score = 5; Console.Write("Grade: "); switch(score) { case 1: Console.WriteLine("Fail"); break; case 2: Console.WriteLine("Pass"); break; case 3: Console.WriteLine("Satisfactory"); break; case 4: Console.WriteLine("Good"); break; case 5: Console.WriteLine("Excellent"); break; default: Console.WriteLine("Invalid"); break; } } } }
Voit kokeilla muuttaa muuttujan grade arvoa nähdäksesi muutoksen tulosteessa. grade-arvoa verrataan jokaiseen tapaukseen ja näytetään vastaava tuloste.
Sama koodi voidaan kirjoittaa myös if-else-lauseilla; tässä tapauksessa switch-lause on kuitenkin tehokkaampi ja selkeämpi. Aina kun meidän täytyy verrata lausekkeen tulosta useaan mahdolliseen arvoon, käytämme switch-lausetta.
1. Mikä on switch-lauseen ensisijainen tarkoitus ohjelmoinnissa?
2. Annetussa C#-esimerkissä, mikä on tuloste, jos muuttujan score arvo on 3?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me an example using the switch statement?
What happens if I forget to use the break statement in a case?
When should I use a switch statement instead of if-else?
Awesome!
Completion rate improved to 1.59
Switch-lausunto
Pyyhkäise näyttääksesi valikon
Switch-lause toimii samalla tavalla kuin ehtolauseet, mutta se on hyödyllinen tietyissä tilanteissa.
switch-lauseen syntaksi on seuraava:
switch(expression)
{
case x:
// code block
break;
case y:
// code block
break;
case z:
// code block
break;
…
default:
// code block
break;
}
expression-lausekkeen tulosta verrataan tapauksiin x, y, z ja niin edelleen. Jos tulos vastaa jotakin tapausta, suoritetaan kyseisen tapauksen koodilohko. Jos mikään tapaus ei täsmää, suoritetaan default-koodilohko, jos se on määritelty. expression on useimmiten muuttuja. Kirjoitamme break-avainsanan jokaisen tapauksen koodilohkon jälkeen osoittamaan tapauksen päättymistä.
Seuraavassa on esimerkki:
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int score = 5; Console.Write("Grade: "); switch(score) { case 1: Console.WriteLine("Fail"); break; case 2: Console.WriteLine("Pass"); break; case 3: Console.WriteLine("Satisfactory"); break; case 4: Console.WriteLine("Good"); break; case 5: Console.WriteLine("Excellent"); break; default: Console.WriteLine("Invalid"); break; } } } }
Voit kokeilla muuttaa muuttujan grade arvoa nähdäksesi muutoksen tulosteessa. grade-arvoa verrataan jokaiseen tapaukseen ja näytetään vastaava tuloste.
Sama koodi voidaan kirjoittaa myös if-else-lauseilla; tässä tapauksessa switch-lause on kuitenkin tehokkaampi ja selkeämpi. Aina kun meidän täytyy verrata lausekkeen tulosta useaan mahdolliseen arvoon, käytämme switch-lausetta.
1. Mikä on switch-lauseen ensisijainen tarkoitus ohjelmoinnissa?
2. Annetussa C#-esimerkissä, mikä on tuloste, jos muuttujan score arvo on 3?
Kiitos palautteestasi!