java中switch语句可以这样写吗??求解释
Java code
public static void main(String[] args)
{
int num = 1;
switch (num)
{
case 0: a: b: c: abc: def: d: e: f: abcdef: System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
这case后面这样写都不会报错,
num=0也能进去,打印1;
num=2的时候打印2;
num=97的时候也是打印2;
java中switch语句可以这样写吗??求大虾们帮忙解释。
------解决方案--------------------标签吧。
IDE应该会提示你增加unused了吧。
结合break或者continue之后的功能类似goto了。
个人猜测。。。
一般都出现在循环里的。switch里这么写没什么意义吧。
------解决方案--------------------这个跟switch无关,a: b: c: abc: def: d: e: f: abcdef:是语句的标签,定义了用来给带标签的break或continue语句控制程序流程用的。
任何一条语句之前都可以加标签形如 xxxx:
a: b: c: abc: def: d: e: f: abcdef:不过是个嵌套的标签而已。
那句case可以这么理解:
Java code
case 0:
a: b: c: abc: def: d: e: f: abcdef: System.out.println(1);
break;
------解决方案--------------------
3楼大神正解!!!!!