Java递归

无论在哪里相信大家都听说过递归,我也是个初学者,一开始我也是看不懂的,后来才慢慢看懂,现在我就来记录一下我所了解的Java递归是什么。
递归:程序调用自身的编程技巧称为递归(recursion),它做为一种算法在程序设计语言中广泛应用。在Java中的递归是允许方法调用自身调用的属性。
这样说你可能看不懂,我都是看了例子才懂的。递归的典型例子是数字的阶乘还有斐波那契数列。在看例子之前我们先要明白递归要什么条件才能用。
第一, 我们先要知道递归循环里面的参数是用来干什么的,比如写阶乘的递归是吧,我们想求5的阶乘,那么这个参数的作用就是用来求5的阶乘。n=5
在这里插入图片描述

第二, 递归是一定要结束条件的,要不然就会一直调用自身进入死循环。所以我们要找出当参数是什么的时候,递归才会结束返回结果。
在这里插入图片描述

第三,我们还要找出它的等价关系式,这个关系式就是用来缩小范围的,这个可能一开始无法找出来,不过没关系,我们做多点递归的题的时候就懂了。
在这里插入图片描述

了解了这三个条件,那么递归你也了解的差不多了。下面就看看例子了。
例子一:阶乘
在这里插入图片描述

看不懂我可以用数学写出来给你们看看
在这里插入图片描述

例子二:斐波那契数列
斐波那契数列的是这样一个数列:1、1、2、3、5、8、13、21、34…,即第一项 f(1) = 1,第二项 f(2) = 1…,第 n 项目为 f(n) = f(n-1) + f(n-2)。求第 n 项的值是多少。
在这里插入图片描述
在这里插入图片描述

怎么样是不是懂递归的用法了呢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven精选系列--常用命令详情

转载自 Maven精选系列--常用命令详情 常用命令 mvn –version mvn -v 显示maven安装版本信息 mvn clean 清理项目打包文件,即项目下的target目录 mvn compile 编译项目下的src/main/Java目录源代码 mvn package 项目打包,在项目target目录下生成编译后的…

2020-10-24

1024徽章 嘤嘤嘤,我TM直接白嫖!

jvm高级特性第4章-虚拟机性能监控与故障处理工具

【4.2】jdk命令行工具 1、jps:虚拟机进程状况工具; C:\Users\pacoson>jps -l // 输出主类名称 12272 sun.tools.jps.Jps 12736 chapter3.Page93 2808C:\Users\pacoson>jps -v // 查看虚拟机进程启动时的参数 12736 Page93 -verbose:gc -Xms20M -…

JSP引入CSS文件无法生效的问题

JSP引入CSS文件无法生效的问题 开发工具与关键技术:eclipse、Java 作者:幻奏 撰写时间:2020.8.8不知道你们有没有碰到这个问题,就是css文件在jsp中无法生效,看解决办法的可以直接看下下面,前面只是我碰到…

Maven精选系列--classifier元素妙用

转载自 Maven精选系列--classifier元素妙用 先来看这么一个依赖 <dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version> </dependency> 看似没问题吧&#xff1f;你觉得能…

IDEA创建Spring配置文件Spring Config的方法

作为刚刚开始学Spring框架的小白&#xff0c;而且我也是刚刚学怎么用idea&#xff0c;不会简单的操作也是很正常的是吧。这个问题其实只是我傻傻的不懂&#xff0c;是个很简单的问题&#xff0c;我现在把它记录下来。 在idea创建maven项目后&#xff0c;我们在左边右键新建xml文…

Maven精选系列--POM文件解析

转载自 Maven精选系列--POM文件解析 之前有介绍到maven的标准目录结构&#xff0c;也看到了maven的核心配置文件pom.xml文件&#xff0c;今天就解析这个配置文件。 maven工程的核心文件就是这个pom文件了&#xff0c;每个工程在创建的时候都会有一个pom.xml配置文件&#xff0c…

JVM参数设置、分析(转)

转自&#xff1a;http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数&#xff0c;可以极大的减少由于GC工作&#xff0c;而导致的程序运行中断方面的问题&a…

如何下载、配置IDEA的Maven

我们每个项目都会用到jar包&#xff0c;而maven就是我们经常使用到的一个jar包的管理工具&#xff0c;下面我就来说说maven是如何配置在我们的电脑上的。 第一步当然是在官网下载maven啦&#xff0c;下面是官网的连接 http://maven.apache.org/download.cgi 下载好了就解压在…

Maven精选系列--eclipse各种操作

转载自 Maven精选系列--eclipse各种操作 在eclipse中配置maven的安装目录&#xff0c;使用最新的maven插件&#xff0c;从安装列表中可以看到eclipse自带绑定的是3.3.9&#xff0c;不是最新的&#xff0c;我们勾选自己的最新的。 在eclipse中设置maven的配置文件settings.xml路…

win7-elasticsearch环境搭建

【写在前面】 &#xff08;模拟&#xff09;es客户端共有4种&#xff1a; 1、postman&#xff1b; 2、kibana&#xff1b; 3、curl&#xff1b; 4、api&#xff0c; 如java api&#xff1b; 【1】下载elasticsearch windows version 和 kibana window version https://w…

IDEA中配置mybatis

之前我们用maven创建了项目&#xff0c;接着我来写下怎么在idea中配置mybatis。 第一步我们先把mybatis、sql驱动的依赖先导进去&#xff0c;接着在&#xff0c;main文件夹下面新建一个resources文件夹&#xff0c;再到下面新建一个mybatis.xml文件作为mybatis的主配置文件。 …

Spring的核心模块解析

转载自 Spring的核心模块解析 Spring框架是一个轻量级的集成式开发框架&#xff0c;可以和任何一种框架集成在一起使用&#xff0c;可以说是一个大的全家桶。Spring从1.x发展到现在的5.x可以说是越来越强大&#xff0c;下面来看看Spring都包含哪些核心的模块吧。 Spring图中的这…

no [query] registered for [filtered] in es7 的解决方法

转自 https://blog.csdn.net/wslyk606/article/details/78896023 使用es查询条件为&#xff1a; POST /_search { "query": { "filtered": { "query": { "query_string": { …

控制台查出数据传到layui数据表格却没有数据的问题

最近在试着用ssm整合的框架来做一个新的项目&#xff0c;然后用idea做了一个多表查询&#xff0c;结果发现有某一条数据没有正常显示出来&#xff0c;这让我着急的到网上找了好久都没有答案&#xff08;可能是我不太聪明&#xff09;如下图 明明其他的都有数据了&#xff0c…

一张图搞懂Spring bean的完整生命周期

转载自 一张图搞懂Spring bean的完整生命周期 一张图搞懂Spring bean的生命周期&#xff0c;从Spring容器启动到容器销毁bean的全过程&#xff0c;包括下面一系列的流程&#xff0c;了解这些流程对我们想在其中任何一个环节怎么操作bean的生成及修饰是非常有帮助的。 Bean的完整…

React学习途径和资料分享

转自&#xff1a; https://www.jianshu.com/p/de421e0db710 这段时间因为项目的原因&#xff0c;要做web前端&#xff0c;趁此机会调研了一下当前前端的技术&#xff0c;根据调研的结果&#xff0c;React毫无疑问是现在的NO.1&#xff0c;遂决定入坑学一下React。 工欲善其事…

Mysql外键约束怎么删除

记录一下碰到的问题。由于我是使用PowerDesigner来建mysql物理模型的&#xff0c;为了表与表之间的关系更加清楚&#xff0c;我给他们连线了。之后我就用它生成的SQL语句在navicat把表建出来&#xff0c;我看见没问题就直接用了&#xff0c;毕竟初学者嘛&#xff0c;嘿嘿。 到我…

Spring AOP注解为什么失效?90%Java程序员不知道

转载自 Spring AOP注解为什么失效&#xff1f;90%Java程序员不知道 使用Spring Aop注解的时候&#xff0c;如Transactional, Cacheable等注解一般需要在类方法第一个入口的地方加&#xff0c;不然不会生效。 如下面几种场景 1、Controller直接调用Service A方法&#xff1a;…

mybatis多表新增如何获取主键ID

记录一下碰到的问题&#xff0c;就当做是笔记吧&#xff0c;防止忘记。在做ssm多表新增的时候&#xff0c;碰到了一个小问题&#xff0c;就是在新增成功一个表的时候我要获取它的ID&#xff0c;然后用它的ID新增下一个表。 但是&#xff0c;我要怎么做呢&#xff1f;新增成功&a…