一个简单的递归示例:
- public class Test {
- public static void main(String args[]) {
- int unm = sum(4);
- System.out.println("sum = "+ unm);
- }
- public static int sum(int n){
- if(n == 1){//程序出口
- return 1;
- }
- int temp =sum(n-1);
- int sumx = temp +n;
- return sumx;
- }
- }
-
复制代码
程序每次调用自身都要开辟一次新的内存空间,遵循 后调用先返回原则。那么程序执行流程是不是这样的(先不关心内存的分配):
|
|