黑马程序员技术交流社区

标题: 关于switch中运行顺序的个人小总结,如有错误请帮忙指正 [打印本页]

作者: syb012    时间: 2015-10-28 11:13
标题: 关于switch中运行顺序的个人小总结,如有错误请帮忙指正
首先switch语句会把传入的值与下面case的值进行比较,和哪个一样就从哪句开始运行,如果都不一样就从default开始运行,按从上到下的顺序,前面的就不运行了。这样一直到碰到第一个break或switch语句结束。

例如:
  1. /*
  2. 测试switch语句里在没有break的时候default的运行顺序
  3. */
  4. class SwitchDemo
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 int a=10;
  9.                 switch(a)
  10.                 {
  11.                         default:
  12.                                 System.out.println("default");
  13.                         case 3:
  14.                                 System.out.println("case 3");
  15.                         case 10:
  16.                                 System.out.println("case 10");
  17.                         case 9:
  18.                                 System.out.println("case 9");

  19.                 }
  20.                 System.out.println("Hello World!");
  21.         }
  22. }
复制代码
从case 10 开始运行,结果是

SwitchDemo.png (1.7 KB, 下载次数: 1)

SwitchDemo.png

作者: C威    时间: 2015-10-28 11:34
case穿透,遇到break或者switch右大括号结束
作者: syb012    时间: 2015-10-28 12:08
C威 发表于 2015-10-28 11:34
case穿透,遇到break或者switch右大括号结束

原来这叫做case穿透啊
作者: 1379号监听员    时间: 2015-10-28 18:18
学习了!




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