学习资料:哔站《韩顺平循序渐进学Java》
1,基本介绍:
简单地说,递归就是方法自己调用自己。每次调用时传入不同的变量。有助于程序员解决复杂的问题,同时让代码变简洁。
2,列举两个小案例
public class Recursion01 {
//编写一个 main 方法
public static void main(String[] args) {
T t1 = new T();
t1.test(4);//输出什么? n=2 n=3 n=4
int res = t1.factorial(5);
System.out.println("5 的阶乘 res =" + res);
}
}
class T {
//分析 打印问题
public void test(int n) {
if (n > 2) {
test(n - 1);
}
System.out.println("n=" + n);
}
//factorial 阶乘问题
public int factorial(int n) {
if (n == 1) {
return 1;
} else {
return factorial(n - 1) * n;
}
}
}
3,递归重要规则
1),执行到一个方法时,就创建一个新的受保护的独立空间(栈空间)。
2),方法的局部变量都是独立的,不会相互影响。
3),如果方法中使用的是引用