更新时间:2019-07-18 来源:黑马程序员 浏览量:
方法的递归是指在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。接下来通过一个案例来学习如何使用递归算法计算自然数之和,如例Example1.java。
public class Example1 {
public static void main(String[] args) {
int sum=getsum(4); //调用递归方法,获得1~4的和
System.out.println("sum="+sum); //打印结果
}
//下面的方法使用递归实现求1~n的和
public static int getsum(int n) {
if(n==1){
//满足条件,递归结束
return 1;
}
int temp=getSum(n-1);
return temp+n;
}
}
运行结果为:
sun = 10
Example1.java中,定义了一个 getSum()方法用于计算1~n之间自然数之和。例程中的12行代码相当于在
getSum()方法的内部调用了自身,这就是方法的递归,整个递归过在n==1时结束。整个递归过程中
getsum()方法被调用了4次,每次调用时,n的值都会递减。当n的值为1时,所有递归调用的方法都会以相反的顺序相继结束,所有的返回值会进行累加,最终得到结果10。
猜你喜欢:
毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-2722岁学鸿蒙,拿下人生第一桶金:25届毕业生,华为鸿蒙创新赛2等奖得主
2026-01-08