C/C++ 狂野架构师 -->
  • 精品课程
  • 免费教程
  • 教研团队
  • 开班时间
  • 报考大学
  • 学员社区
  • AI智能应用开发 AI大模型开发(Python) AI鸿蒙开发 AI嵌入式+机器人开发 AI运维 AI测试 跨境电商运营 AI设计 AI视频创作与直播运营 微短剧拍摄剪辑 C/C++ 狂野架构师

    java递归是什么意思,怎么用

    更新时间:2019年07月18日17时59分 来源:乐鱼播客 浏览次数:

    程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。但是如果没终止条件会造成死循环,所以递归代码里要有结束自调自的条件。接下来通过一个案例来学习如何使用递归算法计算自然数之和,如例Example1.java。

     
    public class Example1 {
             public static void main(String[] args) {
                       int sum=getsum(4);              //调用递归方法,获得1~4的和
                       System.out.println("sum="+sum);  //打印结果
             }
                       //下面的方法使用递归实现求1~n的和
                       public static int getsum(int n) {
                                if(n==1){
                                         //满足条件,递归结束
                                         return 1;
                                }
                                int temp=getSum(n-1);
                                return temp+n;
                       }
    }


     
    运行结果为:
    sun = 10

     java方法
     
    Example1.java中,定义了一个 getSum()方法用于计算1~n之间自然数之和。例程中的12行代码相当于在 getSum()方法的内部调用了自身,这就是方法的递归,整个递归过在n==1时结束。整个递归过程中 getsum()方法被调用了4次,每次调用时,n的值都会递减。当n的值为1时,所有递归调用的方法都会以相反的顺序相继结束,所有的返回值会进行累加,最终得到结果10。
     
    使用递归时需要注意的问题。
    【1】递归就是方法里调用自身。
    【2】在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
    【3】递归算法代码显得很简洁,但递归算法解题的运行效率较低。所以不提倡用递归设计程序。
    【4】在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等,所以一般不提倡用递归算法设计程序。
    【5】在做递归算法的时候,一定把握出口,也就是做递归算法必须要有一个明确的递归结束条件。这一点是非常重要的。其实这个出口就是一个条件,当满足了这个条件的时候我们就不再递归了。



     猜你喜欢:

    JDK下载安装与环境变量配置图文教程【超详细】

    java递归是什么意思,怎么用

    Java视频教程:零基础入门到精通

    0 分享到:
    在线咨询 我要报名
    和我们在线交谈!
    【网站地图】【sitemap】