A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张业涛 中级黑马   /  2015-6-26 23:28  /  686 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在switch语句中,一旦匹配到值就不进行匹配了,那么,如果匹配到值之后没有读取到break或者default那么后面的疏忽语句是否执行呢?

5 个回复

倒序浏览
本帖最后由 夜空中最亮的星 于 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
回复 使用道具 举报
C:\Users\hyning\Desktop

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

1.png
回复 使用道具 举报
  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 07:29
若省略break,会继续执行后面的case语句的代码,直到遇到一个break为止。
运行结果:
执行case2

如果一直没有遇到break或者default呢?
回复 使用道具 举报
张业涛 发表于 2015-6-27 21:46
如果一直没有遇到break或者default呢?

在没有break或default情况下,如果找到匹配的case后,那就一直执行到switch语句的大括号 } 结束
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马