第4篇-JAVA基礎
第4篇-JAVA基礎
每篇一句 :世界上本沒有完美,但是我們從未放棄追求完美
初學心得: 樂於揮霍的時間,都不能算作浪費
(筆者:JEEP/711)[JAVA筆記 | 時間:2017-04-01| JAVA基礎 Ⅳ]
程序運行流程
(1) 順序結構
(2) 分支結構
(3) 循環結構
(4) break 與 continue關鍵字
(5) 數組
(6) 方法
1.順序結構
如果代碼裏沒有流程控制,程序是至上而下一行一行執行的
一條語句執行完之後繼續執行下一條語句,直到程序的最後
2.分支結構
順序結構只能順序執行,不能進行判斷和選擇,因此需要分支結構
JAVA有兩種分支結構:● if 語句 ● switch 語句
(1):if 語句,一個 if 語句包含一個布爾表達式和一條或多條語句if語句三種格式:1.語句格式一:if(條件表達式){ 2. 執行語句; 3. } 4.語句格式二:if(條件表達式){ 5. 執行語句; 6. }else{ 7. 執行語句; 8. } 9.語句格式三:if(條件表達式){ 10. 執行語句; 11. }else if (條件表達式){ 12. 執行語句; 13. } 14. …… 15. else 16. { 17. 執行語句; 18. }
if 語句的用語法如下: 如果布爾表達式的值為 true,則執行 if 語句中的代碼塊,否則執行 if 語句塊後面的代碼
1. if(布爾表達式) { 2.//如果布爾表達式為true將執行的語句 3. }if語句代碼
1. /** 2. *if語句代碼 3. **/ 4. //定義一個Demo類 5.public class Demo { 6.//定義主方法 7. public static void main(String args[]){ 8. int a = 10; //定義一個變量 9. if( a < 100 ){ 10. System.out.print("這是 if 語句"); //輸出語句 11. } 12. } 13.}if…else語句:if 語句後面可以跟 else 語句,當 if 語句的布爾表達式值為 false 時,else 語句塊會被執行
if…else 的用法:1. if(布爾表達式){ 2. //如果布爾表達式的值為true 3.}else{ 4. //如果布爾表達式的值為false 5. }if else語句代碼如下:
1./** 2.*if else語句代碼 3.*// 4.//定義一個Demo2類 5.public class Demo2 { 6.//定義一個主方法 7. public static void main(String args[]){ 8. int b = 30; //聲明一個變量並賦值 9. if( b < 20 ){ 10. System.out.print("這是 if 語句"); 11. }else{ 12. System.out.print("這是 else 語句"); 13. } 14. } 15.}
(2):switch 語句
switch 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支
case只是用來為switch選擇一個執行代碼的入口,如果一旦進入一個入口之後,後面的case實際上已經失去了判斷的意義,
JAVA在執行的時候就會把這個case之後的case相當於刪除了,所以就會一直往下執行,直到遇到break
所以讀者可以發現, 每一個case後面沒有{}這個符號來表示一個代碼塊
switch語句選擇的類型只有四種:byte、short、int 、char (java5版本之前)還支持 enum(jdk5), String(jdk7)
case之間與default沒有順序,先執行第一個case,都沒有匹配的case值執行default。
結束switch語句的兩種情況:遇到break,switch語句執行結束
如果匹配的case或者default沒有對應的break,那麽程序會從第一次匹配的case語句開始繼續向下執行
運行可以執行的語句,直到遇到break或者switch結束為止
switch語法格式:
1.switch(表達式){ 2. case 表達式可能的結果值1: 3. 執行語句; 4. break; 5. case 表達式可能的結果值2: 6. 執行語句; 7. break; 8. ... 9. default: 10. 執行語句; 11. break; 12.}
switch語句代碼如下:
1./** 2.*switch代碼 3.**/ 4.//定義一個Demo3類 5.public class Demo3 { 6.//定義一個主方法 7. public static void main(String args[]){ 8. char grade = ‘C‘; 9. //switch語句 10. switch(grades){ 11. case ‘A‘ : 12. System.out.println("優秀"); 13. break; 14. case ‘B‘ : 15. System.out.println("良好"); 16. break; 17. case ‘C‘ : 18. System.out.println("及格"); 19. case ‘D‘ : 20. System.out.println("你還需要努力學習"); 21. break; 22. default : 23. System.out.println("未知等級"); 24. } 25. System.out.println("你的等級是 " + grade); //輸出語句 26. } 27.}
3.循環結構
JAVA中有三種主要的循環結構:● while 循環 ● do…while 循環 ● for 循環
用於處理需要重復執行的操作,根據判斷條件的成立與否,決定程序段落的執行次數,而這個程序段落稱為循環體(1):while 循環,只要布爾表達式為 true,循環體會一直執行下去,while是最基本的循環,它的結構為:
1.while( 布爾表達式 ) { 2. //循環內容 3.}while循環代碼如下:
1./** 2.*while循環 3.**/ 4.//定義一個Demo4類 5.public class Demo4 { 6.//定義一個主方法 7. public static void main(String args[]) { 8. int c = 5; //定義一個變量 9. // while循環體 10. while( c < 10 ) { 11. System.out.print("c的值為:" + c ); //輸出c的值 12. x++; //計數器 13. System.out.print("\n"); // 輸出換行 14. } 15. } 16.}(2):do…while 循環:do…while 循環和 while 循環相似,不同的是 do…while 循環至少會執行一次
do…while 循環結構:布爾表達式在循環體的後面,所以語句塊在檢測布爾表達式之前已經執行了
如果布爾表達式的值為 true,則語句塊一直執行,直到布爾表達式的值為 false1.do { 2. //代碼語句 3.}while(布爾表達式);do…while 循環代碼
1./** 2.*do…while 循環代碼 3.**/ 4.//定義一個Demo5類 5.public class Demo5 { 6.//定義一個主方法 7.public static void main(String args[]){ 8. int d = 10; //定義一個變量 9. //do…while 循環體 10. do{ 11. System.out.print("d的值為: " + d ); //輸出d的值 12. d++; //計數器 13. System.out.print("\n"); 14. }while( d < 20 ); 15. } 16.}(3).for循環:1, for循環裏面的3個表達式運行的順序,初始化表達式只讀一次,判斷循環條件,為真就執行循環體
然後再執行循環後的操作表達式,接著繼續判斷循環條件,重復找個過程,直到條件不滿足為止。
2, while與for可以互換,區別在於for為了循環而定義的變量在for循環結束就在內存中釋放,而while循環使用的變量在循環結束後還可以繼續使用。
3, 最簡單無限循環格式:while(true) , for(;;),無限循環存在的原因是並不知道循環多少次,而是根據某些條件,來控制循環for循環執行的次數是在執行前就確定的,語法格式如下:
1.for(初始化表達式(1);循環條件表達式(2);循環後的操作表達式(3)){ 2. 執行語句;(4) 3.} 4.for循環執行順序:(1) → (2) → (4) → (3) → (2) → (4) → (3)for循環代碼
1./** 2.*for循環代碼 3.*// 4.//定義一個Demo6類 5.public class Demo6 { 6.//定義一個主方法 7. public static void main(String args[]) { 8. //for循環體 9. for(int e = 10; e < 20; e++) { 10. System.out.print("e的值為 : " + e);//輸出e的值 11. System.out.print("\n"); //輸出換行 12. } 13. } 14.}4.break 與 continue關鍵字
break語句;break:終止該層循環
continue語句;continue:跳過該層循環
①:若這兩個語句離開應用範圍,存在是沒有意義的。
②:這個兩個語句後面都能有語句,因為執行不到。
③:continue語句是跳過本次循環,繼續下次循環。
④:標簽的出現,可以讓這兩個語句作用於指定的循環break 關鍵字:break 主要用在循環語句或者 switch 語句中,用來跳出整個語句塊
break 跳出最裏層的循環,並且繼續執行該循環下面的語句
break 的用法很簡單,就是循環結構中的一條語句:break;continue 關鍵字:continue 適用於任何循環控制結構中。作用是讓程序立刻跳轉到下一次循環的叠代
在 for 循環中,continue 語句使程序立即跳轉到更新語句
在 while 或者 do…while 循環中,程序立即跳轉到布爾表達式的判斷語句
continue 就是循環體中一條簡單的語句:continue;
5.數組
筆者將講解JAVA數組的聲明、創建和初始化,並給出其對應的代碼
數組概念:一組能夠儲存相同數據類型值得變量的集合
數組的好處:數組裏的每個元素都有編號,編號從0開始;依次遞增,方便操作這些元素
使用Java數組:必須先聲明數組,再給該數組分配內存, JAVA語言中提供數組是用來存儲固定大小的同類型元素聲明一維數組
一維數組:可以理解為一列多行、類型相同的數據,其中每個數據被稱為數組元素
一維數組的聲明方式:1.1.int x[];(不推薦使用) 2.2.int [] x = new int[3]; 3.3.int x = new int[]{3,5.7}; 4.4.int[] x; (推薦使用) 5.5.int[] x={3,5,7}; 6.6.int a[5]; 非法數組,java語言聲明數組的時候不能指定其長度(元素的個數)一維數組的初始化:
JAVA中的數組必先初始化才可以使用,所謂初始化就是為數組的數組元素分配內存,並為每個數組元素賦值
數組初始化的兩種方式:
1.靜態初始化:初始化時由我們自己指定每個數組元素的初始值,由系統決定需要的數組長度;
格式:數組名 = new 數組類型[]{元素1,元素2,元素3…元素n}; 簡化語法:數組名 = {元素1,元素2,元素3…元素n};
2.動態初始化:初始化時由我們指定數組的長度,由系統為數組元素分配初始值;
格式:數組名 = new 數組類型[數組長度];聲明二維數組:
二維數組:(其實是一個一維數組,它的每一個元素又是一個一維數組),可以看做是一張表格
在數組中再存放數組,外層數組看做是行,內層數組看做列;動態初始化,靜態初始化
初始化二維數組聲明方式:1.//動態初始化,定義了一個二維數組,其中有3個一維數組,每一個一維數組中有2個元素 2.int[][] a = new int[3][2]; 3.//靜態初始化 4.int[][] a = new int[][]{{1,2},{3,4},{5,6}}; 5.int[][] a = {{1,2},{3,4},{5,6}};使用 二維數組:
1.int[] [] arr = {{3,1,5},{2,6},{8}};元素值5的表示方式為:arr[0][2] = 5;
第二個一維數組的長度表示方式:int len = arr[1].length;
對二維數組的遍歷使用for的嵌套循環。
對於其他多維數組,幾維就用幾層for嵌套,但通常情況數組最多用到三維,因為效率已經大大降低了使用數組常見操作:
JAVA語言的數組索引是從0開始的,也就是說數組裏的第一個元素的索引是0,第二個元素的索引是1
1.給數組元素賦值
2.數組名[索引] = 數組類型的值 ;
3.訪問數組元素
4.數組類型 變量 = 數組名[索引];
5.得到數組的長度
6.int len = 數組名.length; //length是數組的屬性
7.遍歷數組數組操作常見問題
1.(ArrayIndexOutOfBoundsException)表示數組腳標越界異常 2.(NullPointerException)表示空引用異常
6.方法
筆者將講解:方法含義和定義格式,方法重載
什麽是方法?一段可重復使用的代碼段;程序中完成獨立功能的一段代碼的集合
方法的優點 :● 1. 使程序變得更簡短而清晰 ● 2. 有利於程序維護
● 3. 可以提高程序開發的效率 ● 4. 提高了代碼的重用性
JAVA中定義方法的格式為:1.[修飾符] 返回值類型 方法名([參數類型 形式參數1,參數類型 形式參數2,……]){ 2. 執行語句; [return 返回值;] 3.} 4.參數列表(參數的類型 ,參數的個數,參數的順序)方法內容介紹:
形式參數:在方法被調用時用於接收外界輸入的數據
實參:調用方法時實際傳給方法的數據
返回值:方法在執行完畢後返還給調用它的環境的數據
返回值類型:事先約定的返回值的數據類型,如無返回值,必須給出返回類型 void
方法簽名:方法名 和 方法的參數列表(能區別方法)
java語言中調用方法:對象名.方法名(實參列表)
實參的數目、數據類型和次序必須和所調用方法聲明的形參列表匹配
return 語句終止方法的運行並指定要返回的數據方法的重載(Overload)
什麽是方法的重載?:
在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型或參數順序不同即可
方法重載的特點:與返回值類型無關,只看參數列表
記住方法重載方式的小技巧:兩同,一不同
同一個類中方法名相同;參數列表不同:(參數個數,參數的類型,參數順序)編程的命名規則:
1.必須以字母、’_’或’$’開頭
2.可以包括數字,但不能以它開頭
3.方法名不能使用關鍵字和保留字
4.單詞的首字母大寫,采用駝峰式;由有實際意義的名詞或名詞短語構成
5.方法名規範:第一個單詞的首字母小寫,采用駝峰式
初學基礎Ⅲ難點: ★★★★★
希望每一篇文章都能夠對讀者們提供幫助與提升,這乃是每一位筆者的初衷
感謝您的閱讀 歡迎您的留言與建議
新浪官方微博: @中國熱點影視傳媒
Github博客: https://github.com/jeep711/jeep711.github.io
Blog Garden:http://www.cnblogs.com/JEEP711/
W3C/Blog:http://www.w3cschool.cn/jeep711blog/
CSDN/Blog:http://blog.csdn.net/jeep911
51CTO/Blog:http://jeep711.blog.51cto.com/
碼雲:http://git.oschina.net/JEEP711/jeep711.github.io
郵箱: [email protected],[email protected]
本文出自 “JEEP711” 博客,轉載請與作者聯系!
第4篇-JAVA基礎