当前位置: 首页 > news >正文

Java递归

文章目录

文章目录

  • 文章目录
  • 递归
      • 一.递归的描述
      • 二.案例1 递归实现阶乘
      • 三.案例2 递归实现斐波拉切数列

递归

一.递归的描述

  1. 递归就是:A方法调用A方法,自己调用自己

  2. 递归的能力就在于用有限的语句来定义对象的无限集合

  3. 递归结构包括两个部分:

    • 递归捅:什么时候不调用自身方法。如果没有头,将陷入死循环。

      public class Demo5 {
          public static void main(String[] args) {
              
          }
          public static void test(){  //死循环 
              test();
          }
      }
      
      
    • 递归体:什么时候调用自身方法

二.案例1 递归实现阶乘

public class Demo4 {
    public static void main(String[] args) {
        System.out.println(f(5));  //调用
    }
    public static int f(int n){
        if(n == 1){   //如果阶乘的值为1  返回1  因为1的阶乘为1
            return 1;
        }else {
            return n*f(n-1);  //递归阶乘 
        }
    }

}

请添加图片描述

三.案例2 递归实现斐波拉切数列

import java.util.Scanner;

public class Demo5 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第几项:");
        long Num = scanner.nextLong();
        System.out.println("第"+Num+"项的feibonglaqie数值为:"+f(Num));
    }
    public static long  f(long n){
        if(n==1 || n==0) {
            return n;
        }else {
            return f(n-1) + f(n-2);  
        }
    }
}
// 0 1 1 2 3 5 8

请添加图片描述

相关文章:

  • JAVA实现计算器
  • Java方法的调用(值传递和引用传递)
  • Java对象和类的关系与创建
  • Java构造器的使用
  • Java 封装
  • Java继承
  • java中的super和this
  • Java抽象类
  • Java案例用户登录
  • Java案例统计字符次数
  • JAVA字符串反转
  • 工欲善其事,必先利其器--tmux
  • 工欲善其事,必先利其器--vim
  • 聊聊Session、Cookie、Token、JWT
  • Django 数据库查询优化
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【Linux系统编程】快速查找errno错误码信息
  • 10个最佳ES6特性 ES7与ES8的特性
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • C# 免费离线人脸识别 2.0 Demo
  • Computed property XXX was assigned to but it has no setter
  • ECS应用管理最佳实践
  • FineReport中如何实现自动滚屏效果
  • JavaScript中的对象个人分享
  • JS实现简单的MVC模式开发小游戏
  • js学习笔记
  • python 装饰器(一)
  • RxJS: 简单入门
  • 从零开始在ubuntu上搭建node开发环境
  • 从伪并行的 Python 多线程说起
  • 工作中总结前端开发流程--vue项目
  • 基于组件的设计工作流与界面抽象
  • 异步
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • #1014 : Trie树
  • $$$$GB2312-80区位编码表$$$$
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1) caustics\
  • (pojstep1.3.1)1017(构造法模拟)
  • (超详细)语音信号处理之特征提取
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • ... 是什么 ?... 有什么用处?
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .form文件_一篇文章学会文件上传
  • .Net 垃圾回收机制原理(二)
  • @ModelAttribute注解使用
  • [20161214]如何确定dbid.txt
  • [ACM] hdu 1201 18岁生日
  • [ActionScript][AS3]小小笔记