编译报错,请问具体原因是什么?
public class Breaker { static String o = ""; public static void main(String[] args) { z: o = o + 2; for(int x = 3; x < 8; x++) { if(x == 4) break; if(x == 6) break z; o = o + x; } System.out.println(o); } }
编译报错,请问具体原因是什么?
public class Breaker { static String o = ""; public static void main(String[] args) { z: o = o + 2; for(int x = 3; x < 8; x++) { if(x == 4) break; if(x == 6) break z; o = o + x; } System.out.println(o); } }
首先,我是冲着这个标题来的,以为是工作流之类的问题,结果不是,而且java的goto用法。就顺便回答一下吧。
goto作为java的保留字,用起来是有个前提的。“标号必须在循环语句的前面,相当于给这个循环起一个名字,但是标号和这个循环之间不能加任何语句。”
你这段代码改成下面的就没有问题了
[code="java"]
public class Breaker
{
static String o = "";
public static void main(String[] args)
{
o = o + 2;
z:
for(int x = 3; x < 8; x++)
{
if(x == 4)
break;
if(x == 6)
break z;
o = o + x;
}
System.out.println(o);
}
}
[/code]