【发布时间】:2021-08-13 22:46:16
【问题描述】:
public static void main(String[] args) {
System.out.println(f(3));
}//end main
public static int f(int i) {
if(i<=1) {
return 1;
}
else {
return(2+f(i-1));
}
}
当我将 3 作为参数时,此函数调用返回 5,但我不知道为什么
【问题讨论】:
-
这是一个递归函数。
f(3)返回一个包含f(2)的值,该值返回一个包含f(1)的值。 -
所以基本上它返回
(2 + (2 + (1)))(描述对f()的调用的段落)。
标签: java recursion methods return expression