中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 遞歸重難點的實例分析

發布時間:2021-11-05 17:55:34 來源:億速云 閱讀:119 作者:柒染 欄目:開發技術

本篇文章給大家分享的是有關Java 遞歸重難點的實例分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

遞歸是什么

就是一個方法在執行的時候,自己調用自己。

遞歸的要求:
1 有一個趨近于終止的條件
2 實現遞歸要去推導出一個遞推公式

遞歸就是遞下去,歸上來。求 5 的階乘,代碼舉例:

public static int fact(int n){
    if(n == 1){
        return n;
    }
    return n*fact(n - 1);
}
public static void main(String[] args) {
    int n = 5;
    int ret = fact(n);
    System.out.println(ret);
}

Java 遞歸重難點的實例分析

這里的終止條件就是 n 等于 1 時,返回 1 就停止遞歸了。否則一直遞歸下去會造成棧區的溢出。

分析遞歸的過程

這里就分析上面這個代碼的遞歸過程。

Java 遞歸重難點的實例分析

如上圖,這就是上面這段遞歸代碼的遞歸過程,先傳入 5 不符合 if 條件。所以繼續遞歸,直到遞歸到 n == 1 的時候,此時不再遞歸,而是返回 1 .至此,遞下去結束。開始歸回來,歸回來的時候,最后返回 1 ,然后一路返回,直到最后一個 return 結束,也就是返回 120 。

遞歸練習

按順序打印一個數的每一位

例如:1234 打印出 1 2 3 4 代碼示例:

public static void print1(int n){
    if(n == 0){
        return;
    }
    print1(n / 10);
    System.out.print(n % 10+" ");
}
public static void main(String[] args) {
    int n = 1234;
    print1(n);
}

Java 遞歸重難點的實例分析

整個遞歸過程如下所示:

Java 遞歸重難點的實例分析

以上就是Java 遞歸重難點的實例分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东至县| 海淀区| 永城市| 和林格尔县| 章丘市| 通城县| 突泉县| 天水市| 萨迦县| 南陵县| 永川市| 岳普湖县| 德化县| 五家渠市| 寿光市| 松桃| 比如县| 门头沟区| 历史| 石嘴山市| 武强县| 库车县| 井陉县| 乳源| 巴中市| 临沂市| 平潭县| 讷河市| 巍山| 札达县| 许昌市| 永定县| 汪清县| 和平县| 阜城县| 龙南县| 嘉义市| 华安县| 天柱县| 叶城县| 孙吴县|