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