我只是在修改代码,我在以下代码中遇到错误:
int x=1;
System.out.println("x "+x);
while (true) {
x++;
}
System.out.println ("x "+x);
错误在最后一行。我能知道错误(错误:无法访问的语句)的含义吗?
另外,我如何修改代码,使得x的值在内部增加,而循环不会改变全局值,还有哪些修改会改变全局值?
答案 0 :(得分:0)
while
循环
while(true)
将永远运行(条件永远不会false
),因此后面的代码永远不会被执行。
要解决此问题,请将打印放入循环中:
while (true){
x++;
System.out.println ("x "+x);
}
答案 1 :(得分:0)
我能知道错误(错误:无法访问的语句)的含义吗?
这意味着编写的代码没有用,因为它不会被执行,因为前面的代码(代码)语句永远不会从方法中返回或返回,这在以下场景中发生:
(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
}