return语句是否结束方法?

时间:2017-09-21 17:32:04

标签: java methods boolean

让我说我有一个方法,例如,我正在处理的是一个布尔方法,如果列表只是返回false(从技术上来说它&# 39;使用链表的堆栈)为空,如果有值,则返回true。

我有一个if语句,如果列表的第一个值为null(假设它是一个堆栈)则返回false,如果它有值,则返回true。 这是我的代码中的方法:

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

我的问题是,如果我确定列表为空并返回false,那么方法会结束吗?或者,换句话说,一旦获得返回消息,方法是否会停止执行操作?

2 个答案:

答案 0 :(得分:1)

一旦你点击一个return语句,一个方法大多停止了。一个例外是,如果你有一个带有finally子句的try块,那么将执行finally子句。

答案 1 :(得分: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
}