递归
-
概念:在方法中调用方法本身的一种现象,需要注意的是,递归会出现死递归,所以一定要有一个出口,才可以更好的优化代码,提高效率。同时,递归要注意次数问题,不能过多。
add(1); Public static void add(int n){ System.out.print(n); n++; if(n>5){ return;} add(n); }
此递归传入是输出从1到5的数字,在递增之后,调用本身add方法输入2,循环至n=5时终止。
-
递归经典问题:斐波那契数列:1 1 2 3 5 8 13 21 35...(第i个数字i-1和i-2数字之和)
private static double feiBo(int i) {
if(i==1||i==2){
return 1;//第一个数和第二个数都是1
}else{
return feiBo(i-1)+feiBo(i-2);//调用本方法实现前两个数之和
}
}//在测试类里在调用该方法,传一个int值,输出就可以了