------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------
认真学习了C#和JAVA有关switch的教学视频后,查阅了msdn的相关知识后,决定对switch做个小结,方便今后使用......
(一)概念
switch 语句是一个控制语句,它通过将控制传递给其体内的一个 case 语句来处理多个选择和枚举。例如:
int caseSwitch = 1;
switch (caseSwitch)
{
case 1:
Console.WriteLine("Case 1");
break;
case 2:
Console.WriteLine("Case 2");
break;
default:
Console.WriteLine("Default case");
break;
}
(二)备注
①switch 语句可以包括任意数目的 case 实例,但是任何两个 case 语句都不能具有相同的值。
②语句体从选定的语句开始执行,直到 break 将控制传递到 case 体以外。
③在每一个case 块(包括上一个块,不论它是 case 语句还是 default 语句)的后面,都必须有一个跳转语句(如break)。
④如果没有任何 case 表达式与开关值匹配,则控制传递给跟在可选 default 标签后的语句。如果没有 default标签,则控制传递到 switch 以外。
(三)视频教程重点说明:
①switch表达式可以是byte int short 或者char即可,但不允许为布尔类型.
②case和default是没有顺序的,定义位置是随意的.
③default可以在最上面,但仍然从case的确切答案开始读取.
④要么遇到break 要么遇到 } 才结束
⑤如果default在最上面且没有break,且执行default,它会执行完default再执行第一个case,通过break跳出,原理解析:
default里没有break且符合
default: ......
case1: ......
case2: ......break;
case3: ......break;
......
⒈先判断case1不符合
⒉判断下面的case均不符合
⒊default符合且执行,执行完后没有break也没有遇到 } 所以继续往下执行,且不再判断case
⒋执行case1里的语句
⒌执行case2里的语句且有 break 则结束.
------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------