所谓递归就是自己调用自己,调用需要有一个出口,否则就成为死循环了。递归和for循环的主要区别是,递归的调用有自己的stack 而for的lOOP调用共享stack。我们为大家收集整理了关于java递归是什么意思,以方便大家参考。
一、递归函数,通俗的说就是函数本身自己调用自己...
如:n!=n(n-1)!
你定义函数f(n)=nf(n-1)
而f(n-1)又是这个定义的函数。。这就是递归
二、为什么要用递归:递归的目的是简化程序设计,使程序易读
三、递归的弊端:虽然非递归函数效率高,但较难编程,可读性较差。递归函数的缺点是增加了系统开销,也就是说,每递归一次,栈内存就多占用一截
四、递归的条件:需有完成任务的语句,需满足递归的要求(减小而不是发散)
五、递归进阶:
1.用递归算n的阶乘:
分析:n!=n*(n-1)*(n-2)...*1
public int dReturn(int n){ if(n==1){ return 1; }else{ return
n*dReturn(n-1); } }
2.用递归函数算出1到n的累加:1+2+3+4+..+n
来源: http://www.51edu.com/it/bckf/490052.html