如何使用递归及注意事项

简介: 如何使用递归及注意事项

递归的介绍:

  • 什么是递归?
    解决具有既定规律的问题时,在方法内部再次调用自身方法的一种编程方式。
  • 何时使用递归?
    当需要解决的问题可以拆分成若干个小问题,大小的问题解决方式相同,方法中自己调用自己。
  • 如何正确使用递归?
    设置有效的出口条件,可以让调用链上的每个方法都可以正确返回,避免无穷递归。

下面写一个递归例子:计算10的阶乘:

public class Test1 {
    public static void main(String[] args) {
        // 传入参数
        int result =factorial(5);
        // 输出结果
        System.out.println(result); // 120
    }
    /**
     *  计算阶乘的方法
     */
    public static int factorial(int num) {
        // 设置出口
        if(num==1) {
            return 1;
        }
        // 自己调用自己
        return num*factorial(num-1);
    }
}


目录
相关文章
|
2月前
|
Python
请解释Python中的递归是什么?并举例说明其用法。
【2月更文挑战第25天】【2月更文挑战第85篇】请解释Python中的递归是什么?并举例说明其用法。
|
2月前
|
Python
解锁Python集合的妙用:常用函数与实例深度解析
解锁Python集合的妙用:常用函数与实例深度解析
34 0
|
8月前
|
前端开发
前端通用递归写法?
前端通用递归写法?
|
9月前
|
Python
python之for循环的定义,使用方法及其注意事项
python之for循环的定义,使用方法及其注意事项
101 0
|
10月前
数组的解释及使用方法
数组的解释及使用方法
65 0
|
人工智能 编译器 C语言
如何使用函数及函数的注意事项
目录 什么是函数? 如何调用函数? 函数的先后关系? 函数的变量空间? 什么是函数? 首先我们来说一说函数的作用,就是一块简单的代码接受零个或多个参数,做一件事情,并返回零个或一个值 void sum(int a,int b) { int i; int sum=0; for(i=a:i<=b;i++) { sum+=i; } printf("%d到%d的和是%d\n",a,b,sum); } 现在我们就写出了一个简单的求和函数和数学中的y=f(x)很像 函数名 sum 返回类型 void 参数表 int a,int b 函数体 大括号里的所有东西 函数头 大括号前
|
Java Scala 开发者
循环的注意事项和练习题|学习笔记
快速学习循环的注意事项和练习题。
58 0
循环的注意事项和练习题|学习笔记
|
自然语言处理
自己写代码解析工具的注意事项
自己写代码解析工具的注意事项
63 0
|
算法 Scala 开发者
使用递归的注意事项和陷阱 | 学习笔记
快速学习使用递归的注意事项和陷阱
136 0
|
Java 数据安全/隐私保护 开发者
函数的注意事项| 学习笔记
快速学习函数的注意事项
126 0