1、什么是递归?
方法自身调用自身
a(){
a();
}
2、递归是很耗费栈内存,递归算法可以不用的时候进来别用
3、以下程序运行的时候发生了这样的一个错误【不是异常,是错误error】
java.lang,StackOverflowError
栈内存溢出错误
错误发生无法挽回,只有一个结果,就是jvm停止工作
4、递归一定要结束条件,不然占内存,没有结束条件一定会发生栈内存溢出错误
5、递归即使有了结束条件,即使结束条件是正确的,也可能会发生栈内存溢出错误,因为递归的太深了
注意:
递归可以不使用尽量别用
但是有些情况下该功能的实现必须依靠递归方式
比如:目录拷贝
6、
public static int sum( int n){
int n=0;
if (n==0){
return 1;}
return n + sum(n-1);