数据结构之递归调用机制

递归机制

先用一个简单的案例进行测试
在这里插入图片描述
简单分析其为什么输出是2、3、4。
在这里插入图片描述
首先,先在栈中执行main,然后执行test(4),zai test(4)中执行了一个方法test(3),故test(4)未执行完毕,先去执行test(3)。由此可得,执行到test(2),此时,test(2)无需执行if语句内容,故执行输出语句System.out.println输出他的a值 a=2,此时,test(2)执行完毕,返回执行test(3),在该区域,他的a值为3,故输出为a = 3. test(3)执行完毕,执行test(4)未执行部分,输出a= 4.
最终执行main(),程序执行完毕。

递归注意两点

1.每执行一个新的方法,系统会为其创建一块新的空间(栈)。
2.在每个新的空间上(方法上)其数据(局部变量)是独立的。

递归遵守的规则

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值