2017-11-23 5 views
-5

私は前に見たことのない新しいリターンのif文を見て、それが何であるかを尋ねたかった。if文after

//class variable 
private boolean isRunning = false; 


public synchronized void start() 
{ 
if(isRunning)return; 
isRunning = true; 
} 

このコードは何をしていますか?

+0

は、デバッガでそれをステップ実行しましたか?複数回呼び出します。 –

+0

私はちょうどビデオでそれを見ました、ビデオの男はそれを説明しようとしましたが、私はそれを理解していませんでした –

+0

@Aominèああ大丈夫です。 –

答えて

0

基本を確認する必要があります。

returnキーワードは、実行が完了したときにメソッドから戻るときに使用されます。あるメソッドでreturnステートメントに達すると、プログラムはそれを呼び出したコードに戻ります。

例では、条件が実行中である場合、がtrueの場合、その時点でメソッドが戻ります。最初にRunningがstart()を呼び出すとfalseになり、if条件がfalseになり、実行が続行されます。

同じ動作で、このようにあなたはあなたの例を書き換えることができます。

public synchronized void start() 
{ 
if(!isRunning) { 
    isRunning = true; 
} // else already running 
} 
+0

簡単に説明してくれてありがとう。 –