056_函数递归调用的机制

递归

1616680266376

234

2

package com.atguigu.chapter05

/**
 *
 * *
 *
 * @author victor
 *         *
 * @site https://victorfengming.gitee.io/
 *       *
 * @project scala
 *          *
 * @package com.atguigu.chapter05
 *          *
 * @created 2021-03-25 21:54
 */
object DiguiTest01 {
  def main(args: Array[String]): Unit = {
    test(4)
    println("---------")
    test2(4)
  }

  def test(n: Int): Unit = {
    if (n > 2) {
      test(n - 1)
    }
    print(n)
  }

  def test2(n: Int): Unit = {
    if (n > 2) {
      test2(n - 1)
    } else {
      print(n)
    }
  }
  /**
   * 234---------
   * 2
   * Process finished with exit code 0
   * */
}

1616680744800

函数递归需要遵守的重要原则(总结)

  1. 程序执行一个函数时,就创建一个新的受保护的独立空间(新函数栈)
  2. 函数的局部变量是独立的,不会相互影响
  3. 递归必须向后退出递归条件逼近,否则就是无限递归,死鬼了
  4. 当一个函数执行完毕,后者遇到return,就会返回,遵守谁调用,就将结果返回给谁

1616681023421

迷宫讲到了,迷宫


results matching ""

    No results matching ""