黑马程序员技术交流社区

标题: switch小结 [打印本页]

作者: 彭家贰小姐    时间: 2013-8-4 20:38
标题: switch小结
(一)概念
switch 语句是一个控制语句,它通过将控制传递给其体内的一个 case 语句来处理多个选择和枚举。例如:
  1. switch (caseSwitch)
  2. {
  3. case 1:
  4. Console.WriteLine("Case 1");
  5. break;
  6. case 2:
  7. Console.WriteLine("Case 2");
  8. break;
  9. default:
  10. Console.WriteLine("Default case");
  11. break;
  12. }
复制代码
(二)备注
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 则结束.

作者: 许庭洲    时间: 2013-8-5 19:53
值得学习ing!
作者: O_o”    时间: 2013-8-6 22:43
谢谢,楼主的分享。复习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2