Java 递归和行执行
我知道递归是如何工作的,但在这种情况下,有什么东西可以打印出来吗Java 递归和行执行,java,recursion,Java,Recursion,我知道递归是如何工作的,但在这种情况下,有什么东西可以打印出来吗 void foo(int num) { if(num < 1) return; foo(num - 1); System.out.println(num); } void foo(int num){ if(num
void foo(int num) {
if(num < 1)
return;
foo(num - 1);
System.out.println(num);
}
void foo(int num){
if(num<1)
返回;
foo(num-1);
系统输出打印项数(num);
}
假设我们让num=5,那么if条件不满足,我们将5发送到foo(5-1)中,依此类推。当num达到0时(即调用
foo(0)
),递归结束,因此在foo(0)
返回后,打印1。然后foo(1)
返回并打印2,依此类推。递归调用foo
返回后执行println
行。一个递归调用的打印将不会打印,直到一级以下的递归调用有机会打印其行并结束
因为如果
num<1
,它不会打印,所以要打印的第一个数字将是1
,然后是2
,依此类推,直到打印原始的num
(例如5
)。如果原始的num
为0
或为负数,则不会打印任何内容。nvm我只是在eclipse上运行了它