遞迴概述和注意事項
阿新 • • 發佈:2018-12-09
package cn.itcast_01;
/* * 遞迴:方法定義中呼叫方法本身的現象 * * 方法的巢狀呼叫,這不是遞迴。 * Math.max(Math.max(a,b),c); * * public class Test { public static void main(String[] args) { Demo d = new Demo(); d.show(5); } static class Demo { public void show(int n) { if (n <= 0) { System.exit(0); } System.out.println(n); show(–n); } } } 輸出結果 5 4 3 2 1
- 注意事項:
- A:遞迴一定要有出口,否則就是死遞迴
- B:遞迴的次數不能太多,否則就記憶體溢位
- C:構造方法不能遞迴使用
-
- 舉例:
- A:從前有座山,山裡有座廟,廟裡有個老和尚和小和尚,老和尚在給小和尚講故事,故事是:
- 從前有座山,山裡有座廟,廟裡有個老和尚和小和尚,老和尚在給小和尚講故事,故事是:
- 從前有座山,山裡有座廟,廟裡有個老和尚和小和尚,老和尚在給小和尚講故事,故事是:
- 從前有座山,山裡有座廟,廟裡有個老和尚和小和尚,老和尚在給小和尚講故事,故事是:
- …
- 廟掛了,或者山崩了
- B:學程式設計 – 高薪就業 – 掙錢 – 娶媳婦 – 生娃娃 – 放羊 – 掙學費
- 學程式設計 – 高薪就業 – 掙錢 – 娶媳婦 – 生娃娃 – 放羊 – 掙學費
- 學程式設計 – 高薪就業 – 掙錢 – 娶媳婦 – 生娃娃 – 放羊 – 掙學費
- 學程式設計 – 高薪就業 – 掙錢 – 娶媳婦 – 生娃娃 – 放羊 – 掙學費
- …
- 娶不到媳婦或者生不了娃娃 */ public class DiGuiDemo { // public DiGuiDemo() { // DiGuiDemo(); // } } //構造方法不能遞迴