递归含义:简单来说就是自己调用自己的现象
1、递归分类:直接递归和间接递归
举例:计算n!的阶层
public class RecursionTest { public static void main(String[] args) { RecursionTest p1=new RecursionTest(); //p1.getMul(5); System.out.println(p1.getMul(5)); } public int getMul(int n){ if(n==1){ return 1; }else { return n*getMul(n-1); } } }
举例2:已知一个数列,f(20)=1,f(21)=4,f(n+2)=2*f(n+1)+f(n),其中n是大于0的整数,计算f(10)的值
public class RecursionTest { public static void main(String[] args) { RecursionTest p1=new RecursionTest(); System.out.println(p1.f(10)); } public int f(int n){ if(n==20){ return 1; }else if (n==21){ return 4; }else return f(n+2)-2*f(n+1); } }