关于方法的递归调用
什么是递归调用
- 例如:
a(){
a();}
- 例如:
递归调用是很耗费栈内存的,递归算法可以不用的时候尽量别用
递归调用而没有结束命令时,会出现以下的错误【注意,不是异常,是错误Error】:
java.lang.StackOverflowError- 栈内存溢出错误 - 错误发生无法挽回,只有一个结果,就是 JVM停止工作。
递归必须有结束条件,没有结束条件,是一定会发生栈内存溢出错误。
递归即使有了结束条件,即使结束条件是正确的,也可能会发生栈内存错误,因为递归得太深了。
注意:
- 递归可以不使用尽量别用
- 但有些情况下该功能的实现必须依靠递归方 式。例如,目录拷贝。
应用:
- 递归用于计算求和