在这个递归示例中,为什么第二个打印行打印输出的后半部分?



我理解如何调用递归方法(n-1)打印出4,3,2,1,并且由于最后一个,n=0;但是,我认为,我的理解的缺乏来自于第二行打印1 2 3 4的方式。

static void recursion(int n) {
if(n>0) {
System.out.println(n);
recursion(n-1);
System.out.println(n);
}

}

public static void main(String[] args) {
recursion(4);
}

}

输出:43.21123.4

你调用递归(4)哪个打印4然后调用递归(3)哪个打印3然后调用递归(2)哪个打印2然后调用递归(1)打印1然后调用递归(0)这没有任何作用然后回到之前的水平打印1然后回到之前的水平哪个打印2然后回到之前的水平哪个打印3然后回到之前的水平哪个打印4然后回到之前的水平我们完成了

相关内容

最新更新