[英]Java boolean method: unreachable statement
我想檢查數組中是否沒有元素。
private Player[] players = new Player[maxPlayers];
public boolean activePlayer(){
for(int i = 0; i < players.length; i++){
if(players[i] != null) {
return true;
break;
}
}
return false;
}
ItelliJ標志break;
紅色,帶有消息unreachable statement
。 這是什么意思,我該如何解決?
break
之前的return
語句將立即結束該方法,因此將永遠無法達到break
。
我們使用return
將值返回給調用方法,因此,一旦控件進入if
塊內部, if
true
值返回給調用方法,因此將永遠不會break
。
簡單地說, return
結束當前方法的執行並將值返回給調用方 。
考慮一下程序的串行行為,一次一行。 如果它超出了條件語句,它將命中return語句。 在Java中, return
終止一個函數, 將控制權返回給調用函數,並且還可能返回一個值 。 中斷線將永遠不會被觸碰!
這可能有助於您了解Java程序中的控制流: http : //www.dickbaldwin.com/java/Java026.htm
如果您添加了有關程序希望執行的操作/ break語句所希望執行的操作的更多信息,我們將很樂意為您提供幫助!
簡而言之,如果第一個if條件為true,則只會轉到“ return true”; 並退出...如果沒有進入If塊,則它將繼續循環通過並返回“ return false;”。 所以是的,智能是正確的。 它永遠都不會“崩潰”;
回報為真; 實際上會為您完成休息,您無需明確地進行休息,它將返回您調用函數“ activePlayers()”的任何地方
如果您解釋了為什么要添加休息時間,我們可能會為您提供進一步的幫助
好吧,在Java中,按順序返回函數中的值將:1.停止執行函數內部的代碼2.返回函數中的值
ItelliJ是一個非常靈活且“智能”的代碼檢查器,可在出現問題或錯誤時告訴您。 它給您錯誤,“無法到達的語句”,因為“ break”語句永遠不會執行,因為當您返回“ true”時...(回頭看答案的第一部分)... break語句永遠不會執行。
因此,這是一個“無法到達”的語句,無論如何都不會執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.