1. 递归概念
递归就是方法自己去调用自己,每次调用时传入的参数是不同的,递归有助于解决程序中复杂的问题,同时可以让代码更为简洁。
2. 递归解决的问题
- 可以解决各种数学问题,汉诺塔,迷宫问题,8 皇后问题等待。
- 各种算法的递归,如快排,归并排序,二分查找,分支算法等。
3. 递归的规则
- 执行一个方法时,就创建一个新的受保护的独立站空间。
- 方法的局部变量是独立的,不会相互影响。
- 如果方法中使用的是引用型类型变量,比如数组,则会共享引用型的数据。
- 递归必须向退出递归的条件接近,否则就是无限递归,会出现 StackOverflowError。
- 一个方法执行完毕后,或者遇到 return,会返回数据,遵守谁调用就将结构返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕。