簡體   English   中英

Java布爾方法:無法訪問的語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM