码迷,mamicode.com
首页 > 编程语言 > 详细

第七节(简单算法)

时间:2015-01-15 17:30:59      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

/*
    关于方法的递归调用
        
        方法调用其实是 “压栈”
        方法结束其就是 “弹栈”                        
        1. 方法的递归调用就是方法自身调用自身
        2. 以下程序因为递归没有结束条件,所以一直在压栈,没有弹栈,导致 栈内存溢出报错 !
        
        所以 递归必须要有结束条件;
*/

public class RecursionTest01{


    // 入口
    public static void main(String[] args){
        arry();
        
    }
        public static void arry(){
        arry();    
    }

}
/*
    计算 1-N的求和
    
    不使用 递归 怎么做?

*/

public class RecursionTest02{

    public static void main(String[] args){
        
        int value = sum1(6);
        
        System.out.println("value = " + value);
        
    }

    // 该方法 需要完成1-N的求和
    public static int sum1(int n){
        
        int sum = 0;
        for(int i = 0; i <= n; i++){
            //sum = sum + i;
            sum += i;
        }
        return sum;
    }


}

/*
    计算 1-N的求和
    
    使用 递归 怎么做?

*/

public class RecursionTest03{

    public static void main(String[] args){
        
        int n = 6;
        
        // 调用该方法
        int value = sum1(n);
        
        System.out.println("value = " + value);
        
    }

    // 该方法 需要完成1-N的求和
    // 1+2+3+4+5+6+ ..... +N
    public static int sum1(int n){
        
        System.out.println("我们在外边试试  ------------------------");
        
        if(n == 1){
            System.out.println("Arry到底帅不帅 ! 我是NO1");
            return 1;    
        } else {
            System.out.println("Arry到底帅不帅 !");
            return n + sum1(n-1);
        }

        /*
            当 n = 6; n+(n-1) 6+5;
        
        */
        
    }
}
/*
    
    使用图形,画出一个程序的执行流程
    
    后进先出
    
    方法的执行原理:
    
        方法在调用的时候,才会给该方法在内存中分配空间
        如果这个方法只是定义没有调用,则不会在内存中分配空间
        
        方法在调用的时候在 “栈” 中分配空间,(JVM内存中有一块内存是 栈内存)
        方法调用其实是 “压栈”
        方法结束其就是 “弹栈”
        
        只有方法结束才能弹栈

*/

public class MethodTest08{

    // 入口
    public static void main(String[] args){
        int i = 100;
        m1(i);
        
    }
    
    public static void m1(int i){
        m2(i);
    }
    
    public static void m2(int i){
        m3(i);
    }
    
    public static void m3(int i){
        System.out.println("m3的方法中的i = " + i);    
    }
    
    public static void m4(){
        
    }
    

}

 

第七节(简单算法)

标签:

原文地址:http://www.cnblogs.com/Deng1185246160/p/4226733.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!