最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 遞歸重難點(diǎn)分析詳解與練習(xí)

 更新時(shí)間:2021年11月05日 14:44:24   作者:Lockey-s  
一說(shuō)起遞歸,我想每個(gè)人都不陌生。舉個(gè)從小就聽(tīng)過(guò)的例子:從前有座山,山里有座廟,廟里有個(gè)和尚,和尚在講故事,從前有座山,山里有座廟,廟里有個(gè)和尚,和尚在講故事,從前有座山,要理解遞歸,就得先了解什么是遞歸,實(shí)際上這句話(huà)就是一個(gè)遞歸

遞歸是什么

就是一個(gè)方法在執(zhí)行的時(shí)候,自己調(diào)用自己。

遞歸的要求:
1 有一個(gè)趨近于終止的條件
2 實(shí)現(xiàn)遞歸要去推導(dǎo)出一個(gè)遞推公式

遞歸就是遞下去,歸上來(lái)。求 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);
}

在這里插入圖片描述

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

分析遞歸的過(guò)程

這里就分析上面這個(gè)代碼的遞歸過(guò)程。

在這里插入圖片描述

如上圖,這就是上面這段遞歸代碼的遞歸過(guò)程,先傳入 5 不符合 if 條件。所以繼續(xù)遞歸,直到遞歸到 n == 1 的時(shí)候,此時(shí)不再遞歸,而是返回 1 .至此,遞下去結(jié)束。開(kāi)始?xì)w回來(lái),歸回來(lái)的時(shí)候,最后返回 1 ,然后一路返回,直到最后一個(gè) return 結(jié)束,也就是返回 120 。

遞歸練習(xí)

按順序打印一個(gè)數(shù)的每一位

例如: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);
}

在這里插入圖片描述

整個(gè)遞歸過(guò)程如下所示:

在這里插入圖片描述

到此這篇關(guān)于Java 遞歸重難點(diǎn)分析詳解的文章就介紹到這了,更多相關(guān)Java 遞歸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ThreadLocal線(xiàn)程在Java框架中的應(yīng)用及原理深入理解

    ThreadLocal線(xiàn)程在Java框架中的應(yīng)用及原理深入理解

    這篇文章主要介紹了ThreadLocal在Java框架中的應(yīng)用及原理深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • feign post參數(shù)對(duì)象不加@RequestBody的使用說(shuō)明

    feign post參數(shù)對(duì)象不加@RequestBody的使用說(shuō)明

    這篇文章主要介紹了feign post參數(shù)對(duì)象不加@RequestBody的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 深入了解JVM(Java虛擬機(jī))內(nèi)存結(jié)構(gòu)

    深入了解JVM(Java虛擬機(jī))內(nèi)存結(jié)構(gòu)

    Java虛擬機(jī)(Java Virtual Machine,JVM)是Java程序的運(yùn)行環(huán)境,它是一個(gè)抽象的計(jì)算機(jī)模型,通過(guò)解釋和執(zhí)行Java字節(jié)碼來(lái)運(yùn)行Java程序,本將大家深入了解JVM(Java虛擬機(jī))內(nèi)存結(jié)構(gòu),需要的朋友可以參考下
    2023-08-08
  • 關(guān)于MyBatis結(jié)果映射的實(shí)例總結(jié)

    關(guān)于MyBatis結(jié)果映射的實(shí)例總結(jié)

    結(jié)果集映射主要是為了解決屬性名和類(lèi)型名不一致的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于MyBatis結(jié)果映射的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 基于Springboot執(zhí)行多個(gè)定時(shí)任務(wù)并動(dòng)態(tài)獲取定時(shí)任務(wù)信息

    基于Springboot執(zhí)行多個(gè)定時(shí)任務(wù)并動(dòng)態(tài)獲取定時(shí)任務(wù)信息

    這篇文章主要為大家詳細(xì)介紹了基于Springboot執(zhí)行多個(gè)定時(shí)任務(wù)并動(dòng)態(tài)獲取定時(shí)任務(wù)信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • java中List集合子類(lèi)特點(diǎn)淺析

    java中List集合子類(lèi)特點(diǎn)淺析

    java.util.List接口繼承自Collection接口,是單列集合的一個(gè)重要分支,習(xí)慣性地會(huì)將實(shí)現(xiàn)了List接口的對(duì)象稱(chēng)為L(zhǎng)ist集合,下面這篇文章主要給大家介紹了關(guān)于java中List集合子類(lèi)特點(diǎn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • MyBatis中if標(biāo)簽的基本使用

    MyBatis中if標(biāo)簽的基本使用

    本文介紹了MyBatis框架中的if標(biāo)簽的使用方法,包括動(dòng)態(tài)生成SQL語(yǔ)句、處理不同類(lèi)型的參數(shù)和if標(biāo)簽進(jìn)行條件判斷,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • Vue實(shí)現(xiàn)驗(yàn)證碼登錄的超詳細(xì)步驟

    Vue實(shí)現(xiàn)驗(yàn)證碼登錄的超詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)驗(yàn)證碼登錄的超詳細(xì)步驟,我們?cè)谑褂胿ue進(jìn)行前端開(kāi)發(fā)時(shí)都需要登錄驗(yàn)證,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Mybatis-Plus最優(yōu)化持久層開(kāi)發(fā)過(guò)程

    Mybatis-Plus最優(yōu)化持久層開(kāi)發(fā)過(guò)程

    Mybatis-plus(簡(jiǎn)稱(chēng)MP)是一個(gè)Mybatis的增強(qiáng)工具,在mybatis的基礎(chǔ)上只做增強(qiáng)不做改變,提高效率,自動(dòng)生成單表的CRUD功能,這篇文章主要介紹了Mybatis-Plus最優(yōu)化持久層開(kāi)發(fā),需要的朋友可以參考下
    2024-07-07
  • 關(guān)于Maven parent.relativePath說(shuō)明

    關(guān)于Maven parent.relativePath說(shuō)明

    Maven中的relativePath用于指定父項(xiàng)目pom.xml的相對(duì)路徑,默認(rèn)值為../pom.xml,這個(gè)配置幫助Maven在構(gòu)建時(shí)定位父模塊的位置,確保模塊間的依賴(lài)關(guān)系正確,relativePath可以指向本地或遠(yuǎn)程倉(cāng)庫(kù)中的父項(xiàng)目,如果不需要尋找父項(xiàng)目,可以將其設(shè)置為空
    2024-09-09

最新評(píng)論

富平县| 大渡口区| 杂多县| 叶城县| 丘北县| 周至县| 嵩明县| 九寨沟县| 崇仁县| 杭州市| 台东市| 香格里拉县| 大兴区| 丹寨县| 托克逊县| 兴海县| 平安县| 滦南县| 邯郸县| 石林| 永昌县| 交口县| 防城港市| 辰溪县| 勃利县| 沙田区| 资阳市| 盖州市| 嵩明县| 乐陵市| 清苑县| 麦盖提县| 灌云县| 彭山县| 余干县| 同德县| 南城县| 修水县| 武陟县| 宿州市| 崇州市|