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

<- 完 ->

posted @ 2022-02-09 15:08  非零二进制  阅读(128)  评论(0编辑  收藏  举报