什么是递归
递归简单来说就是方法调用自己
例子1:
从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山..
例子2:美女拿着自己的照片,照片里面美女拿着照片,照片里面美女拿着照片..
简单的递归程序思路
/*
* 简单的递归程序测试
*/
public class TestRecursive {
public static void main(String[] args) {
print(10);
}
public static void print(int value) {
System.out.println(value);
print(value - 1);
}
}
要停止递归的话要弄一个小出口,比如将上面的print(int value)方法改成如下,就能实现只打印出0~10
public static void print(int value) {
System.out.println(value);
//加一个停止递归的条件
if(value >0)
print(value - 1);
}
递归经典应用1:斐波那契数列
斐波那契:1 1 2 3 5 8 13 ....从第三项开始的值是前两项的和