说明
1、一般递归调用可以处理的算法,也通过循环去解决常需要额外的低效处理 。
2、 现在的编译器在优化后,对于多次调用的方法处理会有非常好的效率优化,效率未必低于循环。
循环
优点: 结构简单
缺点: 并不能解决所有的问题。 有的问题适合使用递归而不是循环,如果使用循环并不困难的话,最好使用循环。
递归
优点: 代码简洁、清晰,并且容易验证正确性
缺点: 它的运行需要较多次数的方法调用,如果调用层数比较深,需要增加额外的堆栈处理,比如参数传递需要压栈等操作,会对执行效率有一定影响。 但是,对于某些问题,如果不使用递归,那将是极端难看的代码。
以上就是java循环和递归的区别,希望对大家有所帮助。更多关于“java培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。