手册目录
Java 教程
Java 方法
Java 类
Java 文件处理
Java 数据结构
Java 案例
Java 参考手册
Java 关键字
Java String 方法
Java Math 方法
Java Output 方法
Java Arrays 类
Java ArrayList 方法
Java LinkedList 方法
Java HashMap 方法
Java Scanner 方法
Java 迭代器接口
Java 错误和异常类型
Java.io 包教程
Java.lang 包教程
Java.math 包教程
java.time 包教程
Java.util 包教程
Java 正则表达式教程
java.util.zip 包教程
前言
在本教程中,您将学习如何使用Java递归,Java递归递归是进行函数调用本身的技术。这种技术提供了一种将复杂问题分解为更容易解决的简单问题的方法。递归可能有点难以理解。弄清楚它是如何工作的最好方法就是用它进行实验。递归实例将两个数字相加很容易,但将一系列数字相加则更为复杂。
递归是进行函数调用本身的技术。这种技术提供了一种将复杂问题分解为更容易解决的简单问题的方法。
递归可能有点难以理解。弄清楚它是如何工作的最好方法就是用它进行实验。
将两个数字相加很容易,但将一系列数字相加则更为复杂。在以下示例中,递归用于将一系列数字相加,方法是将其分解为两个数字相加的简单任务:
使用递归将所有数字相加到10。
public class MyClass {
public static void main(String[] args) {
int result = sum(10);
System.out.println(result);
}
public static int sum(int k) {
if (k > 0) {
return k + sum(k - 1);
} else {
return 0;
}
}
}点击 "运行实例" 按钮查看在线实例
调用sum()函数时,它将参数k添加到小于k的所有数字的和中,并返回结果。
当k变为0时,函数只返回0。运行时,程序遵循以下步骤:
由于函数在k为0时不调用自身,因此程序停止并返回结果。
正如循环会遇到无限循环的问题一样,递归函数也会遇到无限递归的问题。
无限递归是指函数从不停止调用自身。每个递归函数都应该有一个停止条件,即函数停止调用自身的条件。
在前面的示例中,停止条件是当参数k变为0时。
看到各种不同的例子有助于更好地理解这个概念。在本例中,函数在起点和终点之间添加一系列数字。 此递归函数的停止条件为end不大于start时:
使用递归将5到10之间的所有数字相加。
public class MyClass {
public static void main(String[] args) {
int result = sum(5, 10);
System.out.println(result);
}
public static int sum(int start, int end) {
if (end > start) {
return end + sum(start, end - 1);
} else {
return end;
}
}
}点击 "运行实例" 按钮查看在线实例
相关视频
科技资讯
24小时阅读榜
1
2
3
4
5
6
7
8
9
10
精品课程
共5课时 | 17.4万人学习
共49课时 | 78.1万人学习
共29课时 | 62.5万人学习
共25课时 | 39.7万人学习
共43课时 | 73.8万人学习