递归

递归

##    递归:方法定义时内部调用自身的现象

    fun1().fun2() 这叫方法的链式调用
    fun1(show1()) 这叫方法的嵌套调用
    fun1(fun1())  这叫方法的递归调用
    递归举例:
        1、从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容:  1
            从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容:    2
                从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容:   3
                    从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容: 4
                    ....
           结束条件:山倒了,老和尚圆寂了。

                ...
           结束条件:挣不到钱,没有生娃...
    写递归需要考虑的东西:
        1、开始条件
        2、出口
` 需求:使用递归实现一个数的阶乘`
点击查看代码
public class DiGuiDemo1 {     //
    public static void main(String[] args) {
        int res = jieCheng(5);
        System.out.println("5的阶乘是:" + res);
    }

    // 5*4*3*2*1
    public static int jieCheng(int i) {  ///递归需要一个int 类型的值不断的进行i--,知道满足某一个条件就终止
        if (i == 1) {
            return 1;
        } else {
            return i * jieCheng(--i);
            // 5 * jieCheng(4)
            // 5 * 4 * jieCheng(3)
            // 5 * 4 * 3 * jieCheng(2)
            // 5 * 4 * 3 * 2 * jieCheng(1)
        }
    }
posted @ 2024-10-18 20:03  wang_jun  阅读(47)  评论(0)    收藏  举报