1:什么是递归:
方法自身调用自身
a(){
a
();
}
2:递归必须有结束条件,没有结束条件一定会发生栈内存溢出错误。
3: 递归即使有结束条件,即使结束条件是正确的,也可能会发生栈内存溢出错误,因为递归的太深了。
注意:递归能不使用尽量不使用
//用递归的方法计算1·4的和
public class Red
public static void main (String[ ] args){
//1·4的和
int n = 4;
int retValue = sum(n);
System.out.println()retValue;
}
public static int sum(int n){
//4+3+2+1
if(n==1){
return 1;
}
return n + sum(n-1);//当后面的sum(n-1)运算完之后才会做加法运算5
}
}
_______________________________________________________________________________________________________________变形:求1·5的商
只把上文的return n+sum(n-1)中的加号改为乘号就可以了。
——————————————————————————————————————————————————————————————
递归原理图
