方法递归的调用就是自己调用自己情况
在每一次使用递归代码中要求进行数据的有效处理;
需要明确的给出一个递归的结束条件;如果没有结束条件会造成内存溢出
package com.yidu.test;
public class Love {
public static void main(String[] args) {
System.out.println(sum(100));
}
public static int sum(int num){
if(num==1){//结束条件
return 1;
}
return num+sum(num-1);//每一次递归都修改结束条件
}
}
解析:
第一次执行:main方法,return 100+sum(99)
第二次执行:sum方法,return 99+sum(98)
第三次执行:sum方法,return 98+sum(97)
第98次执形:sum方法,return2+sum(1)
第99次执行:sum方法,return 1
最终执行:return 100+sum(99)+sum(98)+.......sum(2)+1;