当前位置: 代码迷 >> J2SE >> java中switch语句可以这样写吗?求解释,该如何解决
  详细解决方案

java中switch语句可以这样写吗?求解释,该如何解决

热度:213   发布时间:2016-04-24 01:48:09.0
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楼大神正解!!!!!
  相关解决方案