递归算法
① 程序调用自身的编程技巧称为递归。
② 一个方法在其定义或说明中又直接或间接的调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需的多次重复计算,大大地减少了程序的代码量。
递归算法注意
① 递归就是在方法里调用自身。
② 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
示例:使用递归算法求5!(阶乘)
分析:5!=5*4!,4!=4*3!,3!=3*2!,2!=2*1!,1!=1
再将最后的值从后往前返回到它的上一个,返回1!,2!,3!,4! 最后是5!。
1 class FacUtil{
2 public static int getFac(int number){
3 if(number==1){
4 return 1;
5 }else{
6 return number*getFac(number-1);
7 }
8 }
9 }
主方法调用
1 System.out.println(FacUtil.getFac(5));