方法遞歸調(diào)用
- 方法的遞歸調(diào)用指的是自己調(diào)用自己的形式敌土。一般如果要進行一個方法的遞歸調(diào)用是要有以下幾個條件的。
- 方法必須有一個遞歸的結(jié)束條件运翼。
2.方法在每次遞歸時一定要進行一些變更返干。
范例:實現(xiàn)1~100的累加操作。
public class Hello {
public static void main(String args[]) {
int num = 1;
int result = 0;
while (num <= 100) {
result += num;
num++;
System.out.println(result);
}
}
}
這個操作可以變成遞歸的形式
public static void main(String args[]) {
System.out.println(sum(100));
}
public static int sum(int num) {
if (num == 1) {
return 1;
}
return num + sum(num - 1);
}
}
【main()調(diào)用】第一次執(zhí)行sum()方法血淌;return100+sum(100-1)
【sum()遞歸】第二次執(zhí)行sum()方法矩欠;return99+sum(99-1)
【sum()遞歸】第三次執(zhí)行sum()方法;return99+sum(98-1)
.
.
.
【sum()遞歸】倒數(shù)第二次執(zhí)行sum()方法悠夯;return2+sum(2-1)
【sum()遞歸】倒數(shù)第一次執(zhí)行sum()方法癌淮;return1+sum(1-1)
先調(diào)用后,返回執(zhí)行就變成了1+...+100沦补。
范例:實現(xiàn)60的階乘
public class Hello {
public static void main(String args[]) {
System.out.println(mul(60));
}
public static double mul(int num) {
if (num == 1) {
return 1;
}
return num * mul(num - 1);
}
}
- 使用while循環(huán)的操作其實大部分都可以轉(zhuǎn)換成遞歸乳蓄。