全国咨询热线:400-618-9090

首页技术文章正文

java方法递归是什么意思?

创建时间:2019-07-18 15:49:34.0 来源:黑马程序员

方法的递归是指在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。接下来通过一个案例来学习如何使用递归算法计算自然数之和,如例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。

推荐了解热门学科

java培训Python人工智能Web前端培训PHP培训
区块链培训影视制作培训C++培训产品经理培训
UI设计培训新媒体培训产品经理培训Linux运维
大数据培训智能机器人软件开发
在线咨询 我要报名