Java 递归在本教程中您将了解Java递归函数及其优缺点。在Java中调用自身的方法称为递归方法。并且此过程称为递归。一个物理世界的实例是放置两个彼此面对的平行反射镜。它们之间的任何对象都将被递归地反射。递归如何工作在上面的示例中我们从main方法内部调用了recurse()方法。 正常方法调用。 并且在recurse()方法内部我们再次调用相同的recurse方法。 这是一个递归调用。为了停止递归调用我们需要在方法内部提供一些条件。否则该方法将被无限调用。因此我们使用if … else语句或类似方法终止方法内部的递归调用。示例使用递归的阶乘class Factorial { static int factorial( int n ) { if (n ! 0) // 终止条件 return n * factorial(n-1); //递归调用 else return 1; } public static void main(String[] args) { int number 4, result; result factorial(number); System.out.println(number 的阶乘 result); } }输出4 的阶乘 24在上面的示例中我们有一个名为factorial()的方法。 从main()方法调用factorial()。 用传递的数字变量作为参数。在这里请注意以下语句return n * factorial(n-1);factorial()方法正在调用自身。 最初n的值在factorial()内部为4。 在下一个递归调用期间将3传递给factorial()方法。 此过程一直持续到n等于0。当n等于0时if语句返回false因此返回1。最后将累积的结果传递给main()方法。阶乘程序的工作流程下图将使您更好地了解如何使用递归执行阶乘程序。递归的优缺点进行递归调用时将在堆栈上分配新的变量存储位置。随着每个递归调用的返回旧的变量和参数将从堆栈中删除。因此递归通常使用更多的内存并且通常很慢。另一方面递归解决方案要简单得多并且花费更少的时间来编写调试和维护。 福利时间如果你正在备战面试或者想要学习其他知识给大家推荐一个宝藏知识库作者整理了一些列 Java 程序员需要掌握的核心知识有需要的自取不谢。知识库地址https://farerboy.com/