方法自身调用自身的方法,必须要有方法的出口(可以结束方法的条件)。递归的次数不宜过多。
容易造成栈内存溢出错误 - StackOverflowError
运行过程:直接递归
main-method_1(没有结束)method_2(没有结束)method_3(没有结束)method_4(结束)method_3(结束)method_2(结束)method_1(结束)
所以这个i累加了7次
package Test20_Demo.Demo03;/*
@create 2020--12--10--15:22
*/
public class DiguiDemo2 {
//成员变量
private static int i= 1 ;
public static void main(String[] args) {
//调用方法
method();
}
public static void method() {
System.out.println("方法开始:" + i);
//设置递归出口
if (i == 4) {
return;//结束方法并且返回结果
}
i++;
method();
i++;
System.out.println("方法结束!"+i);
}
}