方法递归:一个方法体内调用它本身,被称为方法递归。英语是recursive,[rɪˈkɜ:sɪv]。
方法递归包含了一种隐式的循环,它会重复执行某种代码,但这种重复执行无须循环控制。
递归有一条最重要的规定:递归一定要向已知方法递归,否则就是一个死循环。
递归是非常有用的,例如希望遍历某个路径下的所有文件,但这个路径下文件夹的深度是未知的,那么就可以使用递归来实现这个需求。系统可定义一个方法,该方法接受一个
文件路径作为参数,该方法可遍历当前路径下的所有文件和文件路径,该方法中再次调用该方法本身来处理该路径下的所有文件路径。
为了更好的记住递归的规定,下面是2个数学题:
1,已知有一个数列:f(0)=1,f(1)=2,f(n+2)=2*f(n+1)+f(n),其中n是大于0的整数,求f(10)的值;
2,已知有一个数列:f(20)=1,f(21)=2,f(n+2)=2*f(n+1)+f(n),其中n是大于0的整数,求f(10)的值;
/**
* 递归方法测试:
* 只要一个方法的方法体内再次调用了方法本身,这就是一个递归方法
* 递归一定要向已知方法递归,否则就是一个死循环
*
* @author LinkinPark