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;
}
}
结果
分析
定义了一个getSum()方法用于计算1~n之间自然数之和。程序中的【int temp=getSum(n-1);】相当于在getSum()方法的内部调用了自身,这就是方法的递归,整个递归过程在【n == 1】时结束。
整个递归过程中getSum()方法被调用了4次,每次调用,n的值都会递减。当n的值为1时,所有递归调用的方法都会以相反的顺序相继结束,所有的返回值会进行累加,最终得到结果10。
图例
根据代码和图例,可结合B站视频进一步理解
视频链接:https://www.bilibili.com/video/BV175411a7Kk?share_source=copy_web
<- 完 ->
本文来自博客园,作者:非零二进制,转载请注明原文链接:https://www.cnblogs.com/gelingyu/p/15875114.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)