java方法-递归.md

递归

递归就是:A方法调用调用A方法!就是自己调用自己

递归结构包括两个部分

递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
递归体:什么时候需要调用自身方法

在这里插入图片描述

理解:f()方法一直调用自己知道满足一个临界条件

递:传递 归:回归
就相当于走迷宫,递归就是:1按一定的策略走到终点 2从终点一路返回路径(值)
package com.zhu.method;

public class Demo06 {

    static int sum=0;

    public static void main(String[] args) {

        System.out.println(f(5));
    }
    public static int  f(int n){
        //5! 5*4*3*2*1
        //2   2*f(1)
        //3   3*f(2)
        if(n==1){
            return 1;
        }
        else{
            return n*f(n-1);
        }
    }
}

边界条件:边界

前阶段:

返回阶段:n*(n-1)

在这里插入图片描述

由于java是栈机制,所以如果递归过多的话,很容易溢出

所以能不用递归就不用递归

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值