是的,Java中的遞歸調用可以實現遞歸終止。遞歸終止是指遞歸函數在執行到某個特定條件下停止繼續調用自身的過程。遞歸終止條件通常是一個基本情況(base case),當滿足這個條件時,遞歸函數不再調用自身,從而避免了無限遞歸。
以下是一個簡單的Java遞歸示例,用于計算階乘:
public class RecursionExample {
public static void main(String[] args) {
int n = 5;
long result = factorial(n);
System.out.println("Factorial of " + n + " is: " + result);
}
public static long factorial(int n) {
// 遞歸終止條件:當n為0或1時,階乘值為1
if (n == 0 || n == 1) {
return 1;
}
// 遞歸調用:計算n的階乘,即n乘以(n-1)的階乘
return n * factorial(n - 1);
}
}
在這個示例中,factorial
函數是一個遞歸函數,它接受一個整數n
作為參數。當n
為0或1時,遞歸終止條件滿足,函數返回1。否則,函數會遞歸調用自身,計算n-1
的階乘,并將結果與n
相乘。這樣,當遞歸調用到達終止條件時,所有遞歸調用都會依次返回,最終得到正確的階乘值。