return用于终止方法并返回控制权;非void方法每条路径须有匹配类型return,void方法可用无值return提前退出;finally中return会覆盖try/catch返回值;多return需谨慎以保逻辑清晰。

return 关键字在 Java 中用于立即终止当前方法的执行,并将控制权交还给调用方。一旦执行到 return 语句,该方法中后续的所有代码(同一执行路径下)都不会再运行。
有返回值的方法必须 return 一个匹配类型的值
如果方法声明了非 void 的返回类型(比如 int、String、boolean 等),那么每个可能的执行路径都必须以 return 结束,并返回对应类型的值。
例如:
public int findMax(int a, int b) {
if (a > b) {
return a; // 方法在此结束,返回 a
}
return b; // 方法在此结束,返回 b(不能省略)
}
如果漏掉某个分支的 return,编译器会报错:“missing return statement”。
立即学习“Java免费学习笔记(深入)”;
void 方法可以用 return 提前退出
对于返回类型为 void 的方法,return 后面不跟任何值,仅用于提前结束方法。
常见于条件检查后中断流程:
public void processOrder(Order order) {
if (order == null) {
System.out.println("订单为空,不处理");
return; // 提前退出,后面代码不执行
}
System.out.println("开始处理订单:" + order.getId());
// ... 其他逻辑
}
return 不会触发 finally 块的跳过(但会影响返回值)
即使在 try 或 catch 块中执行了 return,对应的 finally 块仍会执行(除非 JVM 退出或线程被强制终止)。
注意:如果 finally 中也有 return,它会覆盖 try/catch 中的返回值。
public String getValue() {
try {
return "from try";
} finally {
return "from finally"; // 实际返回这个值
}
}
多个 return 要谨慎,避免逻辑混乱
虽然语法允许一个方法中有多个 return,但过多分散的 return 可能降低可读性与可维护性。建议:
- 优先考虑单一出口(尤其在复杂逻辑中)
- 用提前 return 处理边界情况(如空值、非法参数),让主逻辑更清晰
- 避免在循环或嵌套条件中随意插入 return,除非意图明确


















