黑马程序员技术交流社区
标题:
有返回值的递归问题
[打印本页]
作者:
李健09
时间:
2014-3-20 16:27
标题:
有返回值的递归问题
本帖最后由 李健09 于 2014-3-21 19:21 编辑
import java.io.*;
public class FileDemo3
{
public static void main(String[] args)
{
int n=getSum(3);
System.out.println("n="+n);
}
public static int getSum(int n)
{
if(n==1)
return 1;
return n+getSum(n-1);
}
}
//问下在有返回值得递归当中 return n+getSum(n-1); 此时是直接执行调用getSum(int n)函数吗?return n+getSum(n-1)不运行吗,就是n+(n-1)运行吗?
作者:
无道
时间:
2014-3-20 21:09
会直接调用getSun(n-1)这个函数,因为它要算出n+getSun(n-1)的值后才能进行返回。当递归到n==1时getSun(int n)函数才会结束,程序就会依次返回。
作者:
李健09
时间:
2014-3-21 19:20
无道 发表于 2014-3-20 21:09
会直接调用getSun(n-1)这个函数,因为它要算出n+getSun(n-1)的值后才能进行返回。当递归到n==1时getSun(int ...
谢了 知道怎么回事了 当时有点晕了...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2