zoukankan      html  css  js  c++  java
  • java编程基础--方法的递归

    方法的递归是指在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。

     1 public class Example {
     2     public static void main(String[] args) {
     3        int sum = getSum(4);
     4         System.out.println("sum =" +sum);
     5     }
     6         //下面的方法使用递归实现求1 ~ n的和
     7       public static int getSum(int n){
     8         //满足条件,递归结束
     9         if (n ==1){
    10             return 1;
    11         }
    12         int temp = getSum(n -1);
    13         return  temp + n;
    14       }
    15       
    16 }

    运行结果:

      第12行代码相当于在gerSum()方法的内部调用了自身,这就是方法的递归,整个递归过程在n==1时结束。方法的递归调用过程很复杂,通过下图来分析整个调用过程--

     

      整个递归过程中getSum()方法被调用了4次,每次调用时,n的值都会递减。当n的值为1时,所有递归调用的方法都会以相反的的顺序相继结束,所有的返回值都会进行累加,最终得到结果10

    (通俗的讲,当第四次递归结束时,返回值为1,再往上第三次递归return temp + 2实际上就等于1+2,return 3,以此类推,得出最终结果10)

    关于递归,理解起来有点不容易,可以自行百度了解

  • 相关阅读:
    目前流行前端几大UI框架排行榜
    vue nginx配置
    快速切换npm源
    vue项目打包部署生产环境
    VScoed Vue settings.json配置
    java获取远程图片分辨率
    Fegin的使用总结
    线程池核心参数
    mysqldump定时任务生成备份文件内容为空解决方法
    对汉字编码
  • 原文地址:https://www.cnblogs.com/wx60079/p/13191903.html
Copyright © 2011-2022 走看看