1. 递归概念

递归就是方法自己去调用自己,每次调用时传入的参数是不同的,递归有助于解决程序中复杂的问题,同时可以让代码更为简洁。

2. 递归解决的问题

  1. 可以解决各种数学问题,汉诺塔,迷宫问题,8 皇后问题等待。
  2. 各种算法的递归,如快排,归并排序,二分查找,分支算法等。

3. 递归的规则

  1. 执行一个方法时,就创建一个新的受保护的独立站空间。
  2. 方法的局部变量是独立的,不会相互影响。
  3. 如果方法中使用的是引用型类型变量,比如数组,则会共享引用型的数据。
  4. 递归必须向退出递归的条件接近,否则就是无限递归,会出现 StackOverflowError。
  5. 一个方法执行完毕后,或者遇到 return,会返回数据,遵守谁调用就将结构返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕。