黑马程序员技术交流社区

标题: 新人提问 [打印本页]

作者: 张业涛    时间: 2015-6-26 23:28
标题: 新人提问
在switch语句中,一旦匹配到值就不进行匹配了,那么,如果匹配到值之后没有读取到break或者default那么后面的疏忽语句是否执行呢?

作者: 夜空中最亮的星    时间: 2015-6-27 07:29
本帖最后由 夜空中最亮的星 于 2015-6-27 07:30 编辑

若省略break,会继续执行后面的case语句的代码,直到遇到一个break为止。
  1. class SwitchTset
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 switch (2)
  6.                 {
  7.                 case 1:
  8.                         System.out.println("执行case"+1);
  9.                         break;

  10.                 case 2:
  11.                         System.out.println("执行case"+2);

  12.                 case 3:
  13.                         System.out.println("执行case"+3);

  14.                 default :
  15.                         System.out.println("执行default");
  16.                 }
  17.         }
  18. }
复制代码

运行结果:
执行case2
执行case3
执行default

作者: fmi110    时间: 2015-6-27 08:42
C:\Users\hyning\Desktop

1.png (3.6 KB, 下载次数: 57)

1.png

作者: fmi110    时间: 2015-6-27 08:44
  1. class SwitchTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int i=1;
  6.                 switch(i)
  7.                 {
  8.                         case 1:
  9.                                 i=1;
  10.                                 System.out.println("Case 1 output.");
  11.                         //        break;
  12.                         default:
  13.                                 System.out.println("This default output.");
  14.                         //        break;
  15.                         case 2:
  16.                                 i=2;
  17.                                 System.out.println("Case 2 output.");
  18.                         //        break;
  19.                 }
  20.         }
  21. }
复制代码

作者: 张业涛    时间: 2015-6-27 21:46
夜空中最亮的星 发表于 2015-6-27 07:29
若省略break,会继续执行后面的case语句的代码,直到遇到一个break为止。
运行结果:
执行case2

如果一直没有遇到break或者default呢?
作者: 夜空中最亮的星    时间: 2015-6-27 21:51
张业涛 发表于 2015-6-27 21:46
如果一直没有遇到break或者default呢?

在没有break或default情况下,如果找到匹配的case后,那就一直执行到switch语句的大括号 } 结束




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