1. 递归解决问题 各种数学问题如:8皇后问题,汉诺塔,阶乘问题,迷宫问题,球和篮子的问题(google编程大赛) 各种算法中也会使用到递归,比如快速排序,归并排序,二分查找,分治算法等 将用栈解决的问题—>代码比较简洁 2. 递归调用机制 当程序执行到一个方法时,就会开辟一个独立的空间(栈) 每个空间的数据(局部变量)是独立的 3. 递归原则 1)执行一个方法时,就创建一个新的受保护的独立空间(栈空间) 2)方法的局部变量是独立的,不会相互影响, 比如n变量 3)如果方法中使用的是引用类型变量