switchcase语法详解
switch case语法详解:
1、switch是“开关”的意思,它也是⼀种“选择”语句,但它的⽤法⾮常简单。
2、switch是多分⽀选择语句。说得通俗点,多分⽀就是多个if。
从功能上说,switch语句和if语句完全可以相互取代。但从编程的⾓度,它们⼜各有各的特点,所以⾄今为⽌也不能说谁可以完全取代谁。
3、当嵌套的if⽐较少时(三个以内),⽤if编写程序会⽐较简洁。但是当选择的分⽀⽐较多时,嵌套的if语句层数就会很多,导致程序冗长,可读性下降。因此C语⾔提供switch语句来处理多分⽀选择。所以if和switch可以说是分⼯明确的。在很多⼤型的项⽬中,多分⽀选择的情况经常会遇到,所以switch语句⽤得还是⽐较多的。
4、switch的⼀般形式如下:
switch(表达式)
{
case常量表达式1:  语句1;  break;
case常量表达式2:  语句2;  break;
case常量表达式n:  语句n;  break;
default:  语句n+1;  break;
}
⼩练习:
static void Main(string[] args)
{
/*
输⼊成绩,输出成绩的等级:
90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,
输⼊⼤于100或⼩于0时输出“成绩输⼊错误”
*/
Console.WriteLine("请输⼊成绩:");
int score;
try
{
score = Convert.ToInt32(Console.ReadLine());
if (score > 100 || score < 0)
{
Console.WriteLine("成绩输⼊错误,请重新输⼊:");
score = Convert.ToInt32(Console.ReadLine());
}
else
{
switch (score / 10)
{
case10:
case9:
Console.WriteLine("A");
break;
case8:
Console.WriteLine("B");
break;
case7:
Console.WriteLine("C");
break;
case6:
Console.WriteLine("D");
break;
default:
Console.WriteLine("E");
break;
}
}
}
catch
{
Console.WriteLine("输⼊数据类型错误,程序退出!");
}
}
扩展资料:
说明:
1)、switch后⾯括号内的“表达式”必须是整数类型。也就是说可以是int型变量、char型变量,也可以直
接是整数或字符常量,哪怕是负数都可以。但绝对不可以是实数,float型变量、double型变量、⼩数常量通通不⾏,全部都是语法错误。
switch case判断字符串2)、switch下的case和default必须⽤⼀对⼤括号{}括起来。
3)、当switch后⾯括号内“表达式”的值与某个case后⾯的“常量表达式”的值相等时,就执⾏此case后⾯的语句。执⾏完⼀个case后⾯的语句后,流程控制转移到下⼀个case继续执⾏。如果你只想执⾏这⼀个case语句,不想执⾏其他case,那么就需要在这个case语句后⾯加上break,跳出switch语句。
再重申⼀下:switch是“选择”语句,不是“循环”语句。很多新⼿看到break就以为是循环语句,因为break⼀般给我们的印象都是跳出“循环”,但break还有⼀个⽤法,就是跳出switch。
4)、若所有的case中的常量表达式的值都没有与switch后⾯括号内“表达式”的值相等的,就执⾏default后⾯的语句,default是“默认”的意思。如果default是最后⼀条语句的话,那么其后就可以不加break,因为既然已经是最后⼀句了,则执⾏完后⾃然就退出switch了。
5)、每个case后⾯“常量表达式”的值必须互不相同,否则就会出现互相⽭盾的现象,⽽且这样写造成语法错误。
6)、“case常量表达式”只是起语句标号的作⽤,并不是在该处进⾏判断。在执⾏switch语句时,根据sw
itch后⾯表达式的值到匹配的⼊⼝标号,就从此标号开始执⾏下去,不再进⾏判断。
7)、各个case和default的出现次序不影响执⾏结果。但从阅读的⾓度最好是按字母或数字的顺序写。
8)、当然你也可以不要default语句,就跟if…else最后不要else语句⼀样。但最好是加上,后⾯可以什么都不写。这样可以避免别⼈误以为你忘了进⾏default处理,⽽且可以提醒别⼈switch到此结束了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。