初识JAVA篇-递归

为了更好的理解递归,我们可以通过一道题来直观感受一下吧。

初识JAVA篇-递归_第1张图片

首先我们先来想想,运用递归的思维,先递出,再回归,完成这两个动作,先得到1,再得到2,再得到3,最后得到4。那么还需要一样东西,就是递出的结束条件,这题的条件就是最后得到这个数一定是小于10,大于0。来看代码演示:

初识JAVA篇-递归_第2张图片

以下为程序执行的过程:很形象地描述了程序先递去出,再回归来。

初识JAVA篇-递归_第3张图片

每次递归的时候,这个方法只执行一部分内容,就去执行其他的内容了,而归的时候把剩余的内容再执行完,递的次数与归的次数是一致的。
再来一题感受一下:
来实现一个斐波那契,先介绍一下什么是斐波那契,换句话说,斐波那契数列中的每个数都是前两个数的和。斐波那契数列的前几个数字依次为:0、1、1、2、3、5、8、13、21、34、55、89、144、...

初识JAVA篇-递归_第4张图片

先来看该代码运行的整个过程:

初识JAVA篇-递归_第5张图片

红色代表递出去,蓝色代表回归。由于n=4 时,可以算一下1 1 2 3,刚好等于3,n是表示第几个数的意思。
总的来说,要记住的递归的两个动作,递还有归。想要实现递归需要三个条件:一个自己调用自己的方法,还需要一定的递出去的结束条件,不然程序会崩掉(死循环了),最后一个就是根据的需要回归的时候需要返回什么。基本满足这些简单的递归程序很容易实现。

你可能感兴趣的:(java)