一个方法在执行的过程中调用自己,就称为“递归”。
2、使用场景通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解。
3、优点让代码简洁。
4、缺点不太好理解。
5、核心如何将原问题转换为子问题
(二)、递归实现条件 1、相同对原问题来进行拆分,拆分成一个个的小问题,而且小问题还要与大问题解法要相同。
2、必须必须要有递归的出口。
(三)、递归常见表现方法 1、问题本身就是递归的 2、数据类型是递归的gsai 3、概念是递归的 (四)、递归求1+2+3+4.....+N的和 1、图解 2、代码示例 public static long sum(int n){
if(n==1){
return 1;
}else{
return sum(n-1)+n;
}
}
public static void main(String[] args) {
System.out.println(sum(5));
}
(五)递归执行过程分析
1、递归求n 的阶乘
public static long fac(int n){
if (0==n||n==1){
return 1;
}else{
return fac(n-1)*n;
}
}
public static void main(String[] args) {
System.out.println(fac(4));
}
2、递归过程(图解)



