Java之递归算法的理解与Demo(包含return的坑)

在平时的工作或者面试中,大家一说到“递归”,我们会想到“自己调自己”,确实,程序调用自身的编程技巧称为递归(recursion)。但是在真正编写递归程序的时候一定要具备三个条件:

1.终结条件(满足边界条件时,停止调用自身)

2.递归条件(满足递归条件时,继续调用自身)

3.基本值(例如:下面demo中基本值就是最后一次调用自身时current的值)

 public static void main(String[] args) {
       //递归
       recursion(1,10);
    }
 
    private static String recursion(int current, int total) {
       if (current > total) {//终结条件
 
          System.out.println("已经停止调用了!");
 
          //返回值
           return "已经停止调用了!";
 
       } else {//递归条件(current <= total)
 
          System.out.println("第" + current + "次调用!");
 
          //(坑)切记:此处一定要在方法前写上return!!!
           return recursion(++current, total);//current不断加1,调用自身
 
          //基本值就是最后一次调用自身时current的值
       }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值