本文介紹了While之后無法訪問的語句的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我只是在修改代碼,在以下代碼中遇到錯誤:
int x=1;
System.out.println("x "+x);
while (true) {
x++;
}
System.out.println ("x "+x);
錯誤在最后一行。我可以知道錯誤(Error:Unreacable語句)是什么意思嗎?
另外,我如何修改代碼,使x的值在內(nèi)部增加,而循環(huán)不更改全局值,以及哪些修改將更改全局值?
推薦答案
我可以知道錯誤(Error:Unreacable語句)是什么意思嗎?
這意味著編寫的代碼毫無用處,因為它將不會被執(zhí)行,因為前面行的(代碼)語句永遠(yuǎn)不會從方法中出來或返回,在以下情況下會發(fā)生這種情況:
(1)無限循環(huán)或迭代(如while(true)
或for(;;)
)
public R method() {
while(true) { //infinite loop
//some code
}
//from here the below code will never get executed
}
這就是您的情況,您的代碼x++;
將永遠(yuǎn)運行,永遠(yuǎn)不會退出while
循環(huán)。
(2)在此之后拋出異常時,代碼語句將不會執(zhí)行,如下所示:
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
}
這篇關(guān)于While之后無法訪問的語句的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,