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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘家斌 中级黑马   /  2014-10-13 00:49  /  1837 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class SwitchDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int x=6;
  6.                 switch(x)
  7.                 {
  8.                         default:
  9.                                 System.out.println("a");
  10.                         case 1:
  11.                                 System.out.println("b");
  12.                         case 2:
  13.                                 System.out.println("c");
  14.                         case 3:
  15.                                 System.out.println("d");
  16.                         case 4:
  17.                                 System.out.println("e");
  18.                         case 5:
  19.                                 System.out.println("f");
  20.                 }
  21.         }
  22. }
复制代码
这段代码为什么输出语句都执行了

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 仔细

查看全部评分

13 个回复

倒序浏览
本帖最后由 Quasimodo 于 2014-10-13 01:26 编辑

先进行判断,因为X=6,所以没有符合的  就会去执行default语句。     执行完以后,如果没有碰到break就会继续往下执行而不再进行判断,每条语句都执行直到碰到break或者}才结束   所以输出语句都会执行
回复 使用道具 举报
x = 6 执行default , case 和 default里没有 break , 全都执行下来了.
回复 使用道具 举报
楼主你好,你没发现你所有case语句和default都没加break吗?输出自然都是打印语句
回复 使用道具 举报
康师傅-蛋黄派 来自手机 中级黑马 2014-10-13 08:02:05
报纸
一楼正解
回复 使用道具 举报
case没有break
回复 使用道具 举报
首先你要先明白什么叫做switch()语句,然后看看每条case后面有没有break;语句存在,若是没有就一直往下执行,若是存在break()语句就跳出循环结束。
回复 使用道具 举报
jtshawn 中级黑马 2014-10-13 09:31:17
8#
没有break
回复 使用道具 举报
new999 中级黑马 2014-10-13 09:38:47
9#
break;~~~~~
回复 使用道具 举报
没有break就会执行
回复 使用道具 举报
weiyi 中级黑马 2014-10-13 10:05:18
11#
没有break
回复 使用道具 举报
语句后面都要加上break;否则其后面的语句就执行了,如果后面的语句还没加break;那它后面的就执行了。总之每个case后都要加break;default 放在最后是其他情况都不满足的时候执行的语句
回复 使用道具 举报
哥哥,你的break呢。厚颜无耻的贴上我刚写的,我也刚学到这里,嘿嘿

  1. //需求1:利用swicth语句来写一个简易计算器。
  2. //需求2:利用swicth语句写一个季节判断程序。
  3. class  switchtest
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 //简易计算器
  8.                 char ch='+';
  9.                 int a=3,b=4;
  10.                 switch(ch)
  11.                 {
  12.                         case '+':
  13.                                 System.out.println(a+"+"+b+"="+(a+b));
  14.                         break;
  15.                         case '-':
  16.                                 System.out.println(a+"-"+b+"="+(a-b));
  17.                         break;
  18.                         case '*':
  19.                                 System.out.println(a+"*"+b+"="+(a*b));
  20.                         break;
  21.                         case '/':
  22.                                 System.out.println(a+"/"+b+"="+(a/b));
  23.                         break;
  24.             default:
  25.                 System.out.println("Hello World!");
  26.                         break;
  27.                 }
  28.                 //季节判断  3,4,5春季,6,7,8夏季,9,10,11秋季,12,1,2冬季
  29.                 int x=7;
  30.                 switch(x)
  31.                 {
  32.                         case 3:
  33.                         case 4:
  34.                         case 5:
  35.                                 System.out.println(x+"月属于春季");
  36.                         break;
  37.                         case 6:
  38.                         case 7:
  39.                         case 8:
  40.                                 System.out.println(x+"月属于夏季");
  41.                         break;
  42.                         case 9:
  43.                         case 10:
  44.                         case 11:
  45.                                 System.out.println(x+"月属于秋季");
  46.                         break;
  47.                         case 12:
  48.                         case 1:
  49.                         case 2:
  50.                                 System.out.println(x+"月属于冬季");
  51.                         break;
  52.                     default:
  53.                 System.out.println("Hello World!");
  54.                         break;
  55.                 }
  56.         }
  57. }
复制代码
回复 使用道具 举报
楼上的说的都不错,来复习一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马