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);
    }
}

在这里插入图片描述

运行结果如下:
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的区别。示例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);
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45817985/article/details/130881247