java 递归

public int Sum(int x) {
return x>1?(Sum(x-1)+1)*2:x;
}

调用System.out.print(Sum(3));输出 22

哪里调用返回哪里

当x=1的时候return 1;

1 (1+1)*2 返回4     第一次
4 (4+1)*2 返回10  第二次
10 (10+1)*2 返回22  第三次

 

貌似这样解释只有自己看得懂。。

posted @ 2012-06-20 12:01  时生  阅读(232)  评论(2编辑  收藏  举报