在Java中A方法调用B方法,这是非常容易理解;
而递归在Java中就是自己调用自己,它能把一些复杂的问题简单化,递归主要能力在于用有限的语句来定义对象的无限集合。
直接来例题:
已知f(n)=n*(n-1)*(n-2)****1 ,求f(5);
public static void main(String[] args){
System.out.println(f(5));
}
public static int f(int n){
if(n==1){ return 1; }
else{
return n*f(n-1);
}
}
递归的优点很明显,但是也有很大的缺点: 费内存,只要n的值足够大就会影响电脑的性能,所以递归能不用则不用,小计算可用