在 Java 中,遞歸是一種非常強大的編程技術,被廣泛應用于各種場景中。今天,我們來看一個簡單的例子:求 1 到 100 的和。
public class Main {
public static int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n - 1);
}
}
public static void main(String[] args) {
int result = sum(100);
System.out.println("1~100的和為:" + result);
}
}
以上就是求 1 到 100 的和的 Java 遞歸示例代碼。
這個程序的關鍵在于sum
方法的實現。它接收一個整數參數n
,表示求和的范圍。當n
等于 1 時,遞歸結束,返回 1。否則,將n
和sum(n-1)
的結果相加即可。
在main
方法中,我們調用sum(100)
得到結果,并輸出到控制臺。
這個程序看起來簡單,但實際上有很多隱藏的細節。在遞歸調用過程中,每一層遞歸都會將參數和變量信息壓入堆棧中,然后逐層返回。當遞歸深度過大時,程序可能會因為堆棧溢出而崩潰。
因此,在編寫遞歸程序時,必須小心謹慎,盡量避免遞歸深度過大的情況,同時也要考慮性能等方面的因素。