1,递归介绍
【1】概念
递归,就是在运行的过程中调用自己。
【2】利弊
递归的弊端:不能调用次数过多,容易导致栈内存溢出
递归的好处:不用知道循环次数
【3】注意事项
构造方法不能使用递归调用,会不断调用子子孙孙无穷无尽。
递归调用不一定必须有返回值。
2,实现步骤
【1】需求5 * 4 * 3 * 2 * 1
for循环来做5的阶层。
public static void main(String[] args) { int result = 1; for(int i = 1; i <= 5; i++) { result = result * i; } System.out.println(result); }【2】递归调用5 * 4 * 3 * 2 * 1
5 * fun(4)(代表4!)
4 * fun(3)(代表3!)
3 * fun(2)(代表2!)
2 * fun(1)(代表1!)
实现代码
public static void main(String[] args) { System.out.println(fun(6000)); } public static int fun(int num) { if(num == 1) { return 1; }else { return num * fun(num - 1); } } }
理解图,最后Fun(1)返回1,进行弹栈。其次Fun(2),Fun(3),Fun(4),Fun(5).main方法进行输出