中国福彩网双色球号码|中国福彩网刮刮乐

全國咨詢熱線:400-618-4000

java遞歸是什么意思,怎么用

創建時間:2019年07月18日17時59分

程序調用自身的編程技巧稱為遞歸( recursion)。遞歸做為一種算法在程序設計語言中廣泛應用。但是如果沒終止條件會造成死循環,所以遞歸代碼里要有結束自調自的條件。接下來通過一個案例來學習如何使用遞歸算法計算自然數之和,如例Example1.java。
 
public class Example1 {
         public static void main(String[] args) {
                   int sum=getsum(4);              //調用遞歸方法,獲得1~4的和
                   System.out.println("sum="+sum);  //打印結果
         }
                   //下面的方法使用遞歸實現求1~n的和
                   public static int getsum(int n) {
                            if(n==1){
                                     //滿足條件,遞歸結束
                                     return 1;
                            }
                            int temp=getSum(n-1);
                            return temp+n;
                   }
}

 
運行結果為:
sun = 10

 java方法
 
Example1.java中,定義了一個 getSum()方法用于計算1~n之間自然數之和。例程中的12行代碼相當于在 getSum()方法的內部調用了自身,這就是方法的遞歸,整個遞歸過在n==1時結束。整個遞歸過程中 getsum()方法被調用了4次,每次調用時,n的值都會遞減。當n的值為1時,所有遞歸調用的方法都會以相反的順序相繼結束,所有的返回值會進行累加,最終得到結果10。
 
使用遞歸時需要注意的問題。
【1】遞歸就是方法里調用自身。
【2】在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。
【3】遞歸算法代碼顯得很簡潔,但遞歸算法解題的運行效率較低。所以不提倡用遞歸設計程序。
【4】在遞歸調用的過程中系統為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等,所以一般不提倡用遞歸算法設計程序。
【5】在做遞歸算法的時候,一定把握出口,也就是做遞歸算法必須要有一個明確的遞歸結束條件。這一點是非常重要的。其實這個出口就是一個條件,當滿足了這個條件的時候我們就不再遞歸了。

 

推薦了解熱門學科

java培訓 python人工智能 web前端 UI設計培訓 軟件測試培訓
PHP+H5 C++ 新媒體培訓 大數據培訓 區塊鏈培訓
產品經理培訓 Linux運維培訓 影視制作培訓 智能機器人軟件開發

中国福彩网双色球号码 2019深海捕鱼达人2安卓版 新疆时时三星和值 即时比分手机 双喜大厅客服 重庆时时历史开奖统计 重庆时时彩走势图 爱用商城app如何赚钱 嘉实优化红利股票赚钱 森林舞会保底压法 明牌抢庄斗牛技巧最新 能赢钱的棋牌游戏 捕鱼部落千炮版技巧 重庆时时开奖结果记录500 3d组六8码多少钱 开心彩票注册送50元 老时时012路杀号