2014-10-12 96 views
0

我是一名新程序員,我不知道這個回報的結果是什麼?我評論它。 if()跟在{}之後嗎?謝謝一個簡單的代碼,返回的結果是什麼?

public void blow(int amount) 
    { 
    if (this.popped) 
     return;           //what is this? true or false 
    this.radius += amount; 
    if (this.radius <= this.maxRadius) 
      return;           // what is this? 
    this.radius = 0; 
    this.popped = true; 
} 

回答

0

這只是將控制流返回到函數被調用的位置。它終止打擊的執行。

編輯:由於你的函數有一個返回類型的void,所以你不能返回一個值,所以你看這個返回的方式就是終止函數。

這是個什麼

}第一

0

一件事:一是不從被聲明爲返回void方法返回值。

這些return陳述作爲早期退出;他們只是強制執行方法停止(more formally, "completes abruptly")並將控制權返回給調用方,而沒有任何結果。如果它超過第一個return,將會發生副作用,因爲當時radius的狀態將被更改。

更正式地說,這是從Java Language Specification來爲什麼這是允許的:

如果一個方法聲明void,那麼它的身體不能包含有一個表達的任何return語句(§14.17) ,或發生編譯時錯誤。

一般來說,這不是一個很好的做法,有多個出口路徑,因爲它可以使調試有點痛的,並導致混亂,而閱讀的代碼。

0

你的方法有返回類型的void,這意味着它不能返回任何東西。語句return;只允許您跳過方法內的其餘代碼並退出該方法。

相關問題