【零基础学Java】—递归(五十一)

简介: 【零基础学Java】—递归(五十一)

一、递归

递归:指在当前方法内调用自己的这种现象

🔵递归的分类:

  • 直接递归:方法自身调用自己
  • 间接递归:间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法

🔵🔵注意事项:

  • 递归一定要有条件限制,保证递归能够停止下来,否则会发生栈内存溢出
  • 在递归中能够虽然有限定条件,但是递归的次数不能太多,否则也会发生栈内存溢出
  • 构造方法 禁止递归

🔵🔵🔵递归的使用前提:当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归

二、练习

/*
 定义一个方法 使用递归计算1-n之间的和
 n+(n-1)+(n-3)+……+1
 使用递归必须明确的条件:
 递归结束的条件:获取到1的时候结束
 递归的目的:获取下一个被加的数字(n-1)
  */
public class demoPra {
    public static void main(String[] args) {
        int s=sum(100  );
        System.out.println(s);
    }
    public static int sum(int n){
        //获取到1的时候结束
     if(n==1){
            return 1;
        }
        //获取下一个数字
        return n+sum(n-1);
    }
}

三、使用递归求阶乘

public class demoRecurison {
    public static void main(String[] args) {
        int jie=jc(5);
        System.out.println(jie);
    }
    public static  int jc(int n){
        if(n==1){
            return 1;
        }
        return n*jc(n-1);
    }
}

四、递归打印多级目录


相关文章
|
2月前
|
Java
java基础(11)函数重载以及函数递归求和
Java支持函数重载,即在同一个类中可以声明多个同名方法,只要它们的参数类型和个数不同。函数重载与修饰符、返回值无关,但与参数的类型、个数、顺序有关。此外,文中还展示了如何使用递归方法`sum`来计算两个数之间的和,递归的终止条件是当第一个参数大于第二个参数时。
32 1
java基础(11)函数重载以及函数递归求和
|
6月前
|
Java
java中递归实例
java中递归实例
44 0
|
4月前
|
算法 Java
java使用递归及迭代方式实现前序遍历 中序遍历 后序遍历 以及实现层序遍历
java使用递归及迭代方式实现前序遍历 中序遍历 后序遍历 以及实现层序遍历
82 7
|
5月前
|
Java
蓝桥杯Java组暴力递归搜图
蓝桥杯Java组暴力递归搜图
32 4
|
5月前
|
Java
java实现斐波那契数列(递归、迭代、流)
java实现斐波那契数列(递归、迭代、流)
|
5月前
|
算法 前端开发 Java
探讨Java中递归构建树形结构的算法
探讨Java中递归构建树形结构的算法
66 1
|
5月前
|
Java
Java递归:深入理解与应用
Java递归:深入理解与应用
69 1
|
5月前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
39 0
|
5月前
|
Java 大数据 程序员
老程序员分享:java递归
老程序员分享:java递归
27 0
|
6月前
|
Java
<Java SE> 5道递归计算,创建数组,数组遍历,JVM内存分配...
<Java SE> 5道递归计算,创建数组,数组遍历,JVM内存分配
60 2