Java-方法的递归调用
2024-10-16 23:30:34
方法的递归是指在一个方法的内部调用自身的过程。递归必须要有结束条件,否则将陷入无限递归的状态,永远无法结束调用。
代码
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
<- 完 ->
最新文章
- BZOJ 2034 【2009国家集训队】 最大收益
- 空间点绕轴旋转公式&;程序(C++)
- MySQL MEM_ROOT详细讲解
- 他答对一半(打一字)asp.net开源简答题项目
- 2015年第六届蓝桥杯C/C++程序设计本科B组决赛
- Python DBUtils
- c++函数模板---3
- android开发之socket快传文件以及消息返回
- 巧用Session Manager还原Firefox丢失会话
- ContentType
- MySQL datetime的更新,删除网上的一些老概念
- 剑指offer-(20)包含min函数的栈
- 笔记7 AOP练习<;有疑问>;
- Spring MVC中用@ResponseBody转json,对json进行处理方法汇总
- leetcode答案 有效的括号(python)
- Linux /var/log下的各种日志文件详解
- Gym 101194C / UVALive 7899 - Mr. Panda and Strips - [set][2016 EC-Final Problem C]
- POJ 1182 食物链(并查集+偏移向量)题解
- hadoop fs 命令使用
- ServiceDesk Plus解析内容,简化工单管理