While之后无法访问的语句
我只是在修改代码,在以下代码中遇到错误:
int x=1;
System.out.println("x "+x);
while (true) {
x++;
}
System.out.println ("x "+x);
错误在最后一行。我可以知道错误(Error:Unreacable语句)是什么意思吗?
另外,我如何修改代码,使x的值在内部增加,而循环不更改全局值,以及哪些修改将更改全局值?
解决方案
我可以知道错误(Error:Unreacable语句)是什么意思吗?
这意味着编写的代码毫无用处,因为它将不会被执行,因为前面行的(代码)语句永远不会从方法中出来或返回,在以下情况下会发生这种情况:
(1)无限循环或迭代(如while(true)
或for(;;)
)
public R method() {
while(true) { //infinite loop
//some code
}
//from here the below code will never get executed
}
这就是您的情况,您的代码x++;
将永远运行,永远不会退出while
循环。
(2)在此之后抛出异常时,代码语句将不会执行,如下所示:
public R method() {
//some code
throw new MyException(" Exception is ... ");
//from here code is unreachable
}
(3)使用显式return
语句
public R method() {
//some code
return r;
//from here code is unreachable
}
相关文章