在本教程中,您将了解Java递归函数及其优缺点。
在Java中,调用自身的方法称为递归方法。并且,此过程称为递归。
一个物理世界的实例是放置两个彼此面对的平行反射镜。它们之间的任何对象都将被递归地反射。
为了停止递归调用,我们需要在方法内部提供一些条件。否则,该方法将被无限调用。
因此,我们使用if ... else语句(或类似方法)终止方法内部的递归调用。
输出:
在这里,请注意以下语句:
factorial()方法正在调用自身。 最初,n的值在factorial()内部为4。 在下一个递归调用期间,将3传递给factorial()方法。 此过程一直持续到n等于0。
当n等于0时,if语句返回false,因此返回1。最后,将累积的结果传递给main()方法。
下图将使您更好地了解如何使用递归执行阶乘程序。
进行递归调用时,将在堆栈上分配新的变量存储位置。随着每个递归调用的返回,旧的变量和参数将从堆栈中删除。因此,递归通常使用更多的内存,并且通常很慢。
另一方面,递归解决方案要简单得多,并且花费更少的时间来编写,调试和维护。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/18097.html