当前位置:   article > 正文

java的递归详细讲解_java 递归

java 递归

Java中的方法递归
方法递归
递归是一种算法,在程序设计语言中广泛应用。
方法调用自身的形式称为方法递归(recursion)。

递归的形式
直接递归:方法自己调用自己。
间接递归:方法调用其他方法,其他方法又回调方法自己。

方法递归注意事项
递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出现象。

递归算法三要素
递归的公式
递归的终结点
递归的方向必须走向终结点

public class Recursion01 {
    public static void main(String[] args) {
        T t = new T();
        t.test(4);
    }

}
class T {
    public void test(int n) {
        if(n > 2) {
            test(n-1);
        }
        System.out.println(n);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

运行结果如下:
2
3
4

public class Recursion01 {
    public static void main(String[] args) {
        T t = new T();
        t.test(4);
    }
}
class T {
    public void test(int n) {
        if(n > 2) {
            test(n-1);
        }else {
            System.out.println(n);
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述
注意示例1和示例2的区别。示例1是执行test方法,就会打印当前的n,示例2是做出判断小于或者等于2的打印当前的n。

递归求和

public class diguiqiuhe {
    public static void main( String[] args ) {
        int num=5;
        int sum=getSum(num);
        System.out.println(sum);
    }

    private static int getSum( int num ) {
        if (num==1){
            return 1;
        }
        return  num+getSum(num-1);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/1014376?site
推荐阅读
相关标签
  

闽ICP备14008679号