首页 > 代码库 > 第七节(简单算法)

第七节(简单算法)

/*    关于方法的递归调用                方法调用其实是 “压栈”        方法结束其就是 “弹栈”                                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 = http://www.mamicode.com/sum1(6);                System.out.println("value = http://www.mamicode.com/" + 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 =http://www.mamicode.com/ sum1(n);                System.out.println("value = http://www.mamicode.com/" + 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(){            }    }

 

第七节(简单算法)