JAVA基础(递归调用)

    xiaoxiao2022-06-27  183

    1,递归介绍

    【1】概念

    递归,就是在运行的过程中调用自己。

    【2】利弊

    递归的弊端:不能调用次数过多,容易导致栈内存溢出

    递归的好处:不用知道循环次数

     

    【3】注意事项

    构造方法不能使用递归调用,会不断调用子子孙孙无穷无尽。

    递归调用不一定必须有返回值。

     

     

    2,实现步骤

    【1】需求5 * 4 * 3 * 2 * 1   

    for循环来做5的阶层。

    public static void main(String[] args) {         int result = 1;                  for(int i = 1; i <= 5; i++) {             result = result * i;         }         System.out.println(result);     }

    【2】递归调用5 * 4 * 3 * 2 * 1

    5 * fun(4)(代表4!)

             4 * fun(3)(代表3!)

                     3 * fun(2)(代表2!)

                             2 * fun(1)(代表1!)

    实现代码

        public static void main(String[] args) {         System.out.println(fun(6000));     }          public static int fun(int num) {         if(num == 1) {             return 1;         }else {             return num * fun(num - 1);         }     } }

     

    理解图,最后Fun(1)返回1,进行弹栈。其次Fun(2),Fun(3),Fun(4),Fun(5).main方法进行输出

     

     


    最新回复(0)