• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

什么叫递归

武飞扬头像
PHP中文网
帮助14

学新通技术网

递归:

1、要调用自己本身;

2、要有一个趋于终止的条件。

下面以一个求阶乘的例子简单介绍一下:

public class recursion {
    public static int fac(int n) {
        if(n == 1){
            return 1; //终止条件
        }
        return n * fac(n-1); //调用自身
    }
    public static void main(String[] args) {
        System.out.println(fac(5));
    }
}
// 运行结果: 120

递归过程(第一个梯度)

学新通技术网

第二个维度: 方法的调用,需要在栈上开辟内存

栈是先进后出的。

先调用 fac(5),逐步调用 fac(4)…… 直到终止条件。

压栈 的过程就是 递 的过程。

学新通技术网

只要遇到终止条件 return,函数结束,逐步返回 fac(n) 的值。

出栈 的 过程就是 归 的过程。

学新通技术网

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tangbhhfc
系列文章
更多 icon
同类精品
更多 icon
继续加载