私は前に見たことのない新しいリターンのif文を見て、それが何であるかを尋ねたかった。if文after
//class variable
private boolean isRunning = false;
public synchronized void start()
{
if(isRunning)return;
isRunning = true;
}
このコードは何をしていますか?
私は前に見たことのない新しいリターンのif文を見て、それが何であるかを尋ねたかった。if文after
//class variable
private boolean isRunning = false;
public synchronized void start()
{
if(isRunning)return;
isRunning = true;
}
このコードは何をしていますか?
基本を確認する必要があります。
return
キーワードは、実行が完了したときにメソッドから戻るときに使用されます。あるメソッドでreturnステートメントに達すると、プログラムはそれを呼び出したコードに戻ります。
例では、条件が実行中である場合、がtrueの場合、その時点でメソッドが戻ります。最初にRunningがstart()を呼び出すとfalseになり、if条件がfalseになり、実行が続行されます。
同じ動作で、このようにあなたはあなたの例を書き換えることができます。
public synchronized void start()
{
if(!isRunning) {
isRunning = true;
} // else already running
}
簡単に説明してくれてありがとう。 –
は、デバッガでそれをステップ実行しましたか?複数回呼び出します。 –
私はちょうどビデオでそれを見ました、ビデオの男はそれを説明しようとしましたが、私はそれを理解していませんでした –
@Aominèああ大丈夫です。 –