假设我有一种方法,例如,我正在使用的方法是一个布尔值 empty 方法,如果列表(从技术上讲,则可以返回false)这是使用链接列表的堆栈)是空的,如果具有值,则返回true。
我有一个if语句,如果列表的第一个值为null(考虑到堆栈),则返回false,如果它具有值,则返回true。这是我的代码中的那种方法:
public boolean empty(){
if(list.getFirst() == null){
return false;
}
else{
System.out.println("Stack has values.");
}
return true;
}
我的问题是,如果我确定列表为空并返回false,该方法将结束吗?或者,换句话说,一旦收到返回消息,方法是否停止做事?
一旦您击中返回语句,方法大多会停止做事。一个例外是,如果您有一个最终子句的尝试块,则最终将执行该子句。
它只是在此时退出该方法。执行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
}