①方法的递归调用

本文介绍了Java中递归的基本概念,通过实例展示了递归如何帮助解决复杂问题。讲解了递归调用的栈空间行为,强调了递归的重要规则,包括独立的局部变量、引用类型变量的共享,以及如何避免无限递归。最后,讨论了两个经典的应用场景:斐波那契数列和猴子吃桃问题。
摘要由CSDN通过智能技术生成

学习资料:哔站《韩顺平循序渐进学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),如果方法中使用的是引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值