java 递归 轻松理解 Kaki
案例:
public class RecursionTest {
@Test
public void test01(){
System.out.println(recursion(5));
}
public int recursion(int i){
if (i>0){
i--;
recursion(i);
}
return i;
}
}
如图第一次i的值是5
经过i-- 变成4 再次调用自己 进入第二次调用
第三次调用变成3
第四次调用变成2
第五次调用变成1
第六次调用变成0
接下来(重点)
个人理解:递归是调用自己,不停地压栈,在满足一定条件后开始逐层释放。本案例中使用的i为基本数据类型的值传递。所以最后返回的不是0
欢迎点赞关注收藏哦 ,码云搜索KakiNakajima