更新時間:2019-07-18 來源:黑馬程序員 瀏覽量:
方法的遞歸是指在一個方法的內部調用自身的過程,遞歸必須要有結束條件,不然就會陷入無限遞歸的狀態,永遠無法結束調用。接下來通過一個案例來學習如何使用遞歸算法計算自然數之和,如例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
Example1.java中,定義了一個 getSum()方法用于計算1~n之間自然數之和。例程中的12行代碼相當于在
getSum()方法的內部調用了自身,這就是方法的遞歸,整個遞歸過在n==1時結束。整個遞歸過程中
getsum()方法被調用了4次,每次調用時,n的值都會遞減。當n的值為1時,所有遞歸調用的方法都會以相反的順序相繼結束,所有的返回值會進行累加,最終得到結果10。
猜你喜歡: