黑马程序员技术交流社区
标题:
switch语句的一个小疑问
[打印本页]
作者:
q757571446
时间:
2015-4-1 11:29
标题:
switch语句的一个小疑问
我吧switch中的break语句注释掉,为什么会返回这个结果。
class SeasonTest1
{
public static void main(String[] args)
{
int x=6;
switch (x)
{
case 1:
case 2:
case 3:
System.out.println("春天已至");
//break;
case 4:
case 5:
case 6:
System.out.println("夏天到了");
//break;
case 7:
case 8:
case 9:
System.out.println("秋天来了");
//break;
case 10:
case 11:
case 12:
System.out.println("冬天降临");
//break;
default:
System.out.println("你是不是傻");
break;
}
}
}
复制代码
作者:
q757571446
时间:
2015-4-1 11:32
额!我是很傻
作者:
zhqw_heima
时间:
2015-4-1 11:39
注释掉break之后会一直执行下面的case
作者:
王小乖
时间:
2015-4-1 12:19
x是6,会跳转到case 6:后的语句执行,但是因为把break注释掉了,所以会继续执行下去,直到碰到break语句才会停止的。
switch(变量){
case 值:要执行的语句;break;
…
default:要执行的语句;
}
工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了
就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;
细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;
2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
作者:
落雨流觞
时间:
2015-4-1 12:45
注释掉break
作者:
瞩目丶远方
时间:
2015-4-1 12:47
这个毕老师的视频里有讲到啊,讲的很清楚
作者:
花独恋水
时间:
2015-4-1 13:00
看一看,在看一看
作者:
57xiaoyu
时间:
2015-4-1 13:04
:)
作者:
jiandonn
时间:
2015-4-1 14:43
努力努力~~~~~~
作者:
无辜被杀害
时间:
2015-4-1 14:52
你这是要问什么- -
作者:
msyx9871453
时间:
2015-4-1 15:14
:handshake:handshake
作者:
l540144279
时间:
2015-4-1 21:30
从case 6 开始执行语句,然后执行下面所有可执行的语句,因为没有break 知道遇到{}才会结束
作者:
lmcci
时间:
2015-4-1 21:35
switch 语句遇到break或者是执行到末尾才会结束
作者:
onlybin2015
时间:
2015-4-1 21:39
省去了break 会一直执行 直到break
作者:
xw_fting
时间:
2015-4-1 21:39
到break才会结束
作者:
m-勇敢的心
时间:
2015-4-1 21:47
break 要注意
作者:
屠赞华
时间:
2015-4-2 02:06
break;continue;return三个跳转控制语句 break结束当前循环/continue 退出本次循环/return结束循环其实是结束了main方法.当你注释掉break时switch语句会一直循环至break出现,或者是一直到语句结尾
作者:
DxxD
时间:
2015-4-2 06:51
楼上已给出正确答案。。。
作者:
zmhlnrs
时间:
2015-4-2 15:27
这个是从case 6 开始一直顺序执行
如果没有找到匹配的就走默认的default里的逻辑
switch语句结束就是遇到break或者走default语句 如果没有遇到break,但是匹配到了case的内容就会从匹配到得那个开始一直顺序执行,直到遇到break或者default语句
作者:
chenlong
时间:
2015-4-2 16:34
switch 语句遇到break或者是执行到末尾才会结束
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2