1.1.2 分支語句(switch語句)
算法
學會畫內存分析圖分析別人寫的程序,這樣就很容易分析出規律,分析出規律也就明白了別人的算法,也就很容易讀懂別人的程序。學習
分析到i等於3之後,基本上已經獲得規律了,這個程序要計算的就是:result = 1!+2!+3!……+10!。spa
由此能夠看出,懂得畫內存去分析程序對讀懂別人的程序是大有裨益的。之後讀別人的程序的時候,以爲難讀懂的時候就畫內存分析。code
學習別人的算法的最好的途徑是分析別人寫的程序,分析的過程結合內存分析是最好的作法。blog
方法執行到return語句後,這個方法的執行就結束了,方法能夠有返回值,但能夠不用這個返回值。方法首先要定義,而後才能調用。遞歸
1 public class TestMethod{ 2 public static void main(String args[]){ 3 m(); 4 m1(3); 5 m2(2,3); 6 int i = m3(4,5); 7 System.out.println(i); 8 } 9 //如下定義的都是靜態方法,靜態方法能夠在main()方法裏面直接調用 10 public static void m(){ 11 System.out.println("Hello!"); 12 System.out.println("孤傲蒼狼"); 13 } 14 15 public static void m1(int i){ 16 if(i==5){ 17 return; 18 } 19 System.out.println(i); 20 } 21 22 public static void m2(int i,int j){ 23 System.out.println(i+j); 24 } 25 26 public static int m3(int i,int j){ 27 return i+j; 28 } 29 }
變量的做用域只在「{ }」有效,出了這個「{ }」就沒有做用了內存
遞歸:在一個方法內部對自身的調用就稱爲遞歸作用域
整個方法執行在內存中執行的過程以下圖所示:it
1 /*計算第5個斐波那契數列數*/ 2 /* 3 斐波那契數列特色:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次類推。 4 即後一個數都是等於前兩個數的和,這樣的數列就是斐波那契數列。 5 */ 6 /* 7 使用遞歸調用的方法計算 8 */ 9 public class Fab{ 10 public static void main(String args[]){ 11 System.out.println(f(5)); 12 } 13 14 public static int f(int n){ 15 if(n==1||n==2){ 16 return 1; 17 }else{ 18 return f(n-1)+f(n-2); 19 } 20 } 21 }
整個在內存中執行過程以下圖所示for循環