在Java中,递归调用的值可以通过方法的返回值来返回。
当递归调用发生时,可以将递归函数的返回值赋给一个变量,然后在递归函数的基本情况(递归结束条件)中,将这个变量作为返回值返回。
例如,考虑计算斐波那契数列的递归实现:
public class Fibonacci {
public static int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void main(String[] args) {
int result = fibonacci(5);
System.out.println(result); // 输出 5
}
}
在上述代码中,递归函数fibonacci
接收一个整数参数n
,并返回斐波那契数列的第n
个数。在递归调用时,将n-1
和n-2
作为参数传递给递归函数,并将返回值相加作为当前调用的返回值。当n
小于等于1时,递归结束,直接返回n
作为结果。
在main
方法中,调用fibonacci(5)
并将返回值赋给result
变量,最后将result
打印出来,输出结果为5。