递归执行机制

网友投稿 734 2022-05-30

递归

递归就是方法自己调用自己

规则

1.执行一个方法的时候,就创建一个新的受保护的独立空间(栈空间) 2.方法的局部变量是独立的,不会互相影响 3.如果方法中使用的是引用数据类型变量,就会共享该引用类型的数据 4.递归必须要有结束条件,不然会出现栈溢出 5.递归占用很大的内存 6.当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就把结果返回给谁,同时当方法执行完毕或者返回的时候,这个方法也就执行完毕了

递归调用的执行机制

public class Recursion01 { //编写一个 main 方法 public static void main(String[] args) { T t1 = new T(); t1.test(4);//输出什么? n=2 n=3 n=4 } } class T { //分析 public void test(int n) { if (n > 2) { test(n - 1); } System.out.println("n=" + n); } }

以上面那一个作为例子:

首先进入main方法,然后在栈内存开辟空间,接着执行main方法里面的代码片段,当main方法调用test()方法的时候,会在栈中另外开辟一个新的空间,然后把实参4传进去

由于,if(n>2)判断条件为true,所以会执行test(n-1)方法,在栈中另外开辟新的空间,直到n=2的时候,判断条件不成立,这个时候控制台输出2,然后n=2的这个方法结束了,这个栈空间就会释放掉,再回到 n = 3 这个空间的text(n -1);继续执行后面的语句,直到程序结束。

递归的执行机制

面向对象编程

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hadoop学习之MapReduce(三)
下一篇:【安装指南】HUAWEI Camera 200高清摄像机 控制线缆、线缆连接器及接线关系说明
相关文章