1. 程式人生 > >遞迴概述和注意事項

遞迴概述和注意事項

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(); // } } //構造方法不能遞迴