说明
1、一般递归调用可以处理的算法,也通过循环去解决常需要额外的低效处理 。
2、 现在的编译器在优化后,对于多次调用的方法处理会有非常好的效率优化,效率未必低于循环。
循环
优点: 结构简单
缺点: 并不能解决所有的问题。 有的问题适合使用递归而不是循环,如果使用循环并不困难的话,最好使用循环。
递归
优点: 代码简洁、清晰,并且容易验证正确性
缺点: 它的运行需要较多次数的方法调用,如果调用层数比较深,需要增加额外的堆栈处理,比如参数传递需要压栈等操作,会对执行效率有一定影响。 但是,对于某些问题,如果不使用递归,那将是极端难看的代码。
以上就是java循环和递归的区别,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。