Java基础之递归

递归

递归概述
方法定义中调用方法本身的现象
注意事项
要有出口,否则就是死递归
次数不能太多,否则就内存溢出
生活中的递归

小时候爷爷经常讲的故事:从前有座山,山里有座庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,讲的是什么,讲的是,从前有座山,山里有座庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,讲的是什么,讲的是。。。。。

当然这就成了一个死循环了。。。
递归的思想
递归就是把一个大问题分解成几个小问题,小问题再分解,最后解决了小问题,大问题也就迎刃而解了。
下面我们来看递归做出5!

public static void main(String[] args) {
        //用递归的思想来处理5的阶乘
        int r = factorial(5);
        System.out.println("结果" + r);
    }

    private static int factorial(int n) {
        if (n == 1) {
            return 1;
        } else {
            return n * factorial(n - 1);
        }
    }

请看这段代码的内存图:


今天就分享这么多吧,大家好好学Java,Java治头秃!!!

发布了29 篇原创文章 · 获赞 0 · 访问量 354

猜你喜欢

转载自blog.csdn.net/weixin_45673369/article/details/102575144