2017-09-21 3 views
-6

のは、私は例えば、私が働いている1は、ブール方法であり、方法があるとしましょうが、それは単に、リストが空である(技術的にはリンクリストを使用してスタックです)場合はfalseを返し、trueを返し値を持っています。return文はメソッドを終了しますか?

私は、リストの最初の値がnullの場合(それはスタックだ考慮)がfalseを返すと、それが値を持っている場合はtrueを返しますif文を持っています。ここ は私のコードでそのメソッドです:私は、リストが空であると判断し、falseを返した場合は

public boolean empty(){ 
     if(list.getFirst() == null){ 
      return false; 
      } 
      else{ 
      System.out.println("Stack has values."); 
     } 
    return true; 
} 

私の質問は、この方法が終了します、ありますか?それとも、返信メッセージを受け取った後にメソッドが停止するのでしょうか?

+5

を...あなたはそれを試してみたのですか? – brso05

+0

はい、値が返されるとメソッドは終了します。私はメソッドを持っていたbrso05 @ –

+0

は、一つの方法を構築し、そしてそれは、私はちょうど私はそれが少し良く作ることができるいくつかの方法があったかどうかを確認するために探していた、うまく働きました。 –

答えて

1

方法は、主にあなたがreturn文を打った後のことをやって停止します。 1つの例外は、finally節を持つtryブロックがある場合、そのfinally節が実行されることです。

1

それはちょうどその時点でメソッドを終了します。 returnが実行されると、メソッドの残りのコードは実行されず、制御は親に渡されます。

例えば、コンパイラは、いくつかのコードに到達することはできませんあなたを伝えるには十分にスマートであることを

public boolean test(int n) { 
    if (n == 1) { 
     return true; 
    } 
    else if (n == 2) { 
     doStuff(); 
     return false; 
    } 
    doOtherStuff(); 
} 

注:はい、それはそこで終わります

if (n == 3) { 
    return; 
    customFunction(); //compiler error here 
}