Java-方法的递归调用

方法的递归是指在一个方法的内部调用自身的过程。递归必须要有结束条件,否则将陷入无限递归的状态,永远无法结束调用。

代码

public class Example24{
	public static void main(String[] args){
		int sum=getSum(4);					// 调用递归方法,获得1~4的和
		System.out.println("sum="+sum);		// 打印结果
	}

	// 使用递归实现 求1~4的和
	public static int getSum(int n){
		if(n == 1){
			// 满足条件,递归结束
			return 1;
		}
		int temp=getSum(n-1);
		return temp+n;
	}
}

结果

image-20220209144206843

分析

定义了一个getSum()方法用于计算1~n之间自然数之和。程序中的【int temp=getSum(n-1);】相当于在getSum()方法的内部调用了自身,这就是方法的递归,整个递归过程在【n == 1】时结束。

整个递归过程中getSum()方法被调用了4次,每次调用,n的值都会递减。当n的值为1时,所有递归调用的方法都会以相反的顺序相继结束,所有的返回值会进行累加,最终得到结果10。

图例

image-20220209144600649

根据代码和图例,可结合B站视频进一步理解

视频链接:https://www.bilibili.com/video/BV175411a7Kk?share_source=copy_web

<- 完 ->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值