Heim > Java > JavaErste Schritte > Hauptteil

什么叫递归

王林
Freigeben: 2020-09-30 15:57:32
nach vorne
1900 Leute haben es durchsucht

什么叫递归

递归:

1、要调用自己本身;

2、要有一个趋于终止的条件。

(推荐教程:java课程

下面以一个求阶乘的例子简单介绍一下:

public class recursion {
    public static int fac(int n) {
        if(n == 1){
            return 1; //终止条件
        }
        return n * fac(n-1); //调用自身
    }
    public static void main(String[] args) {
        System.out.println(fac(5));
    }
}
// 运行结果: 120
Nach dem Login kopieren

递归过程(第一个梯度)

f9bf14f50e1909b29204f2c7b405dcc.png

第二个维度: 方法的调用,需要在栈上开辟内存

栈是先进后出的。

先调用 fac(5),逐步调用 fac(4)…… 直到终止条件。

压栈 的过程就是 递 的过程。

0a8b8c59e4b0aae2c7f10d2dd517027.png

只要遇到终止条件 return,函数结束,逐步返回 fac(n) 的值。

出栈 的 过程就是 归 的过程。

c0cf38352568f5173d01d5a8ad040f9.png

相关推荐:java入门

Das obige ist der detaillierte Inhalt von什么叫递归. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!