1.递归的介绍
递归指的是方法定义中调用方法本身的现象;
把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解
(例如 求 1-5的 累加和;可以看作是 5与1-4累加和 的和;依次类推 )
递归的 只需要少量的程序就可以描述处解题过程所需要的多次重复计算
(像数学问题中的找规律;计算的方法是一致的,计算的次数是多次的)
代码演示:
public class Test{
public static void main(String[] args) {
int sum = getSum(5);
System.out.println(sum);
}
private static int getSum(int i) {
if(i == 1){
return 1;
}else{
return i + getSum(i -1);
}
}
}
递归的注意事项:
递归一定要有出口;否则(栈)内存溢出;
递归虽然有出口,但是递归的次数也不宜过多。否则内存溢出