递归要有条件限制,不然会无线循环
递归结束后不应有其他任何代码,不然在递归完成后,写在递归后面的代码会由内层到外层反向实现
public class Demo{ public void method(int i){ //每次执行i变化+1 i++; System.out.println("第"+i+"次调用method方法"); //如果i<3则执行递归 if(i<3){ method(); } System.out.println("第"+i+"次执行method方法结束"); } public static void main(String[] args){ //实例化 Demo demo=new Demo(); //第一次调用方法 demo.method(0); } }
打印的结果是
第1次调用method方法
第2次调用method方法
第3次调用method方法
第3次执行method方法结束
第2次执行method方法结束
第1次执行method方法结束