Java递归基础与递归的宏观语意实例分析

 更新时间:2020年03月18日 08:41:43   作者:WFaceBoss  
这篇文章主要介绍了Java递归基础与递归的宏观语意,结合实例形式分析了java递归的相关原理、操作技巧与注意事项,需要的朋友可以参考下

本文实例讲述了Java递归基础与递归的宏观语意。分享给大家供大家参考,具体如下:

1.什么是递归

本质上,将原来的问题,转化为更小的同一问题

2.例子分析

假设我们需要对数组进行求和操作(只是为了更好理解递归程序)

要求如下:求解从索引为0到n-1的数组元素和。

分析:

为了能求解从索引为0到n-1的数组元素和,可以分解为第0个数加上索引从1到n-1的数组元素和,如下:

此时求解索引从1到n-1的数组元素和的规模比求解从索引为0到n-1的数组元素和要少一个数以此类推,如下:

.......

最基本问题:

 3.代码实现本例操作

新建一个package 包名为 Recursion,然后在该包下新建一个SumArray类,相关代码如下

package Recursion;

public class SumArray {
  //调用
  public static int sum(int[] arr) {
    return sum(arr, 0);//0 索引从0开始
  }

  //递归实现数组相加
//l表示索引
private static int sum(int[] arr, int l) { if (l == arr.length) return 0; return arr[l] + sum(arr, l + 1); } //测试 public static void main(String[] args) { int[] nums = {1, 2, 3, 4, 5, 6, 7}; int value = sum(nums); System.out.println(value); } }

结果为:28

对上述代码的分析:

总结:

1、递归函数就是一个函数,完成一个功能,自己调用自己。
2、宏观语意为问题更小的子过程。

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • springboot filter配置多个时,执行顺序问题

    springboot filter配置多个时,执行顺序问题

    这篇文章主要介绍了springboot filter配置多个时,执行顺序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • IDEA如何将右下角提示框禁止弹出问题

    IDEA如何将右下角提示框禁止弹出问题

    这篇文章主要介绍了IDEA如何将右下角提示框禁止弹出问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 如何将eclipse项目导入到idea的方法步骤(图文)

    如何将eclipse项目导入到idea的方法步骤(图文)

    这篇文章主要介绍了如何将eclipse项目导入到idea的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java使用Apache POI操作Excel详解

    Java使用Apache POI操作Excel详解

    在Java中操作Excel是日常工作中经常遇到的问题,而Apache Poi是一种流行且广泛使用的方式,它提供了各种库和工具,所以本文就来详细如何使用Apache Poi来进行Excel文件操作吧
    2023-06-06
  • Spring cloud Eureka注册中心搭建的方法

    Spring cloud Eureka注册中心搭建的方法

    这篇文章主要介绍了Spring cloud Eureka注册中心搭建的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Springboot工具类ReflectionUtils使用教程

    Springboot工具类ReflectionUtils使用教程

    这篇文章主要介绍了Springboot内置的工具类之ReflectionUtils的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • Java中常见的语法糖分享

    Java中常见的语法糖分享

    Java语法糖是指Java编译器在编译Java源代码时所做的一些特殊处理,使得Java源代码在编译后生成的字节码更加简洁、易读、易维护,Java 中有许多常见的语法糖,本文给大家列举了一些常见的例子,需要的朋友可以参考下
    2023-10-10
  • springboot2自动加载sql文件的实现

    springboot2自动加载sql文件的实现

    本文主要介绍了springboot2自动加载sql文件的实现,通过配置文件或注解的方式,我们可以轻松地将SQL语句映射到数据库中,实现自动加载,感兴趣的可以了解一下
    2023-11-11
  • 源码解析Java类加载器

    源码解析Java类加载器

    这篇文章主要给大家介绍了Java类加载器源码解析的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Java异常简介和架构_动力节点Java学院整理

    Java异常简介和架构_动力节点Java学院整理

    这篇文章主要分享了Java异常简介和架构,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论