package org.jimmy.autofactory.test; public class TestRecursive20190809 { public static void main(String[] args) { test(3); } public static void test(int n) { if(n > 0) { test(n - 1); } System.out.println(n); } }
个人分析(可能不对):
第一步,3 > 0,调用test(3 - 1),test(2 - 1),test(1 - 1).此时,打印0.
因为这个方法最后一行才结束,所以这个方法另一个分支是.test(2 - 1),打印1,test(3 - 1)打印2,最后test(3)打印3.