java菜鸟 问的基础问题 希望大家帮忙解答
输出结果:a=2 a=3 no
这段代码里面a=2与case 2匹配之后,继续往下执行,虽说没有遇到break。但是a=2与case 3也不匹配啊,为什么会执行啊
------解决方案--------------------switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break
------解决方案--------------------
从原理上来阐述这个问题:
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
1.default就是如果没有符合的case就执行它,default并不是必须的.
2.case后的语句可以不用大括号.
3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.