【发布时间】:2021-02-24 04:43:08
【问题描述】:
我正在尝试了解递归的工作原理。下面是If-else块的代码。
public class Test {
public void test(int count){
if(count ==1){
System.out.println("Inside IF");
}
else{
System.out.println("Inside Else");
test(--count);
System.out.println("TEST");
}
}
public static void main(String[] args) {
Test t = new Test();
t.test(5);
}
}
上述代码的输出是
在其他内部 在其他内部 在其他内部 在其他内部 中频内 测试 测试 测试 测试
谁能帮我理解为什么 TEST 被打印了 4 次。
谢谢
【问题讨论】:
-
我认为某人应该是一本“书”。一个快速的帮助理解是,所有方法调用都保存在堆栈中,直到达到终止条件,即弹出发生时。
-
从 5 到 1 需要 4 次递减。
-
看看this,看看它是否有助于解释事情。
标签: java