当前位置: 首页 > 图灵资讯 > 技术篇> Java方法递归是什么以及递归怎样实现

Java方法递归是什么以及递归怎样实现

来源:图灵教育
时间:2023-04-04 10:33:23

  在在java的学习中,各位java程序员不仅要有编程的想法,还要时刻积累java语言的各种算法和方法。其中,递归是java方法其中一个,想必看过这篇文章的朋友已经学会掌握了java方法的相关知识点。下面的文章主要是学习java方法递归的知识。那么什么是java方法递归,如何实现递归?

  Java方法递归是指在一种方法的内部调用自己的过程,以此类推,即Java方法递归的理解思想。具体来说,它是将大问题转化为小问题的类似子问题。当函数实现时,由于解决大问题的方法和解决小问题的方法往往是相同的方法,因此函数调用本身。此外,解决问题的函数必须有明显的结束条件,以免无限递归。因此,java方法递归的两个条件是通过递归调用缩小问题规模,新问题与原问题形式相同;第二,有一个简单的情况,可以使递归在简单的情况下退出。

  在不使用递归的前提下,让我们研究完成它1到n的求和应该很简单,请看下面的代码:public class Recursiontest02 { public static void main(String[] args) { int n = 5; int result = accumulate(n); System.out.println("1到" + n + 和是:“和是:” + result); } public static int accumulate(int n){ int result = 0; for(int i = 1;i <= n; i++){ result += i; } return result; } }

  运行结果如下图所示:

  那么,如何使用递归呢?请参见以下代码: public class Recursiontest03 { public static void main(String[] args) { int n = 5; int result = accumulate(n); System.out.println("1到" + n + 和是:“和是:” + result); } public static int accumulate(int n){ if(n == 1){ return 1; } return n + accumulate(n - 1); } }

  运行结果如下图所示:

  要知道java方法递归有三个要素:必须有退出程序的情况;总是试图将问题简化到更小的规模;父子问题不能重叠。这是实现java方法递归的条件。

  不使用java方法递归和使用方法递归的程序运行结果必须相同,但java方法递归会使代码更简单、更清晰、更可读。虽然可能java零基础初学者不能很好地理解这两个优势,但在以后的学习中,慢慢地理解在正确的程序中使用正确的方法,会理解java方法递归的好处和作用