- package com.kxg;
- /*
- * 递归:方法定义中调用本身方法
- *
- * 注意:
- * 1.递归一定要有出口,否则就是死递归
- * 2.递归次数不能太对,否则就内存溢出
- * 3.构造方法不能使用递归
- *
- * 需求:递归实现5的阶乘
- * 5! = 5*4*3*2*1
- * 5! = 5*4!
- */
- public class DiGuiDemo {
- public static void main(String[] args) {
- // 循环实现
- int i = 1;
- for (int x = 2; x <= 5; x++) {
- i *= x;
- }
- System.out.println(i);
- // 递归实现
- System.out.println(JieCheng(5));
- }
- // 递归需要写一个方法:
- // 返回值类型:int 参数列表:int i
- // 出口条件: if(i == 1){ return 1;}
- private static int JieCheng(int i) {
- if (i == 1) {
- return 1;
- } else {
- return i * JieCheng(i - 1);
- }
- }
- }
复制代码
|
|