所以我最近一直在学习Java中的递归,虽然我从根本上理解它,但我并不完全掌握代码背后的情况。例如,找到4的阶乘。
public static long factorial(int n) {
if (n == 0) // Base case
return 1;
else
return n * factorial(n - 1); // Recursive call
}
有人可以向我解释代码是如何运行的。 n *阶乘(n-1)如何知道什么阶乘(n-1)等于它只是召回自己?我很困惑,任何解释都会受到赞赏,谢谢!