Java學習-03-Java流程控制
使用者互動Scanner
可以通過Scanner類來獲取使用者的輸入。
基本語法:
Scanner s = new Scanner(System.in);
通過Scanner類的next()與nextLine()方法獲取輸入的字串,在讀取前我們一般需要使用hasNext()與hasNextLine()判斷是否還有輸入的資料。
-
next():以空格或回車為結束符。
-
nextLine():以回車為結束符。
順序結構
Java的基本結構就是順序結構,除非特別指明,否則就按照順序一句一句執行。
順序結構是最簡單的演算法結構。
語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的,它是任何一個演算法都離不開的一種基本演算法結構。
選擇結構
-
if單選擇結構
1 // 語法 2 if (flag) { 3 // flag為true 4 }
-
if雙選擇結構
1 // 語法 2 if (flag) { 3 // flag為true 4 } else { 5 // flag為false 6 }
-
if多選擇結構
1 // 語法 2 if (flag1) { 3 // flag1為true4 } else if(flag2) { 5 // flag2為true 6 } else if(flag3) { 7 // flag3為true 8 } else { 9 // 以上都不為true 10 }
-
巢狀的if結構
1 // 語法 2 if (flag) { 3 // flag為true 4 if(flag2) { 5 // flag2為true 6 } 7 }
-
switch多選擇結構
1 // 語法 2 switch (expression) { 3 casevalue : // 語句 4 break;//可選 5 case value : // 語句 6 break;//可選 7 // 可以有任意數量的case語句 8 default : //可選 9 // 語句 10 }
switch語句中的變數型別可以是:
-
byte,short,int,char
-
從Java SE 7開始,switch支援字串String型別了,同時case標籤必須為字串常量或字面量。
注意:default語句最好放到最後,如果放在前面則需要加上break,不然會繼續往下執行。
1 // 在該情況下,如果寫break則正常輸出-1, 2 // 如果不寫break則輸出-1和1,輸出錯誤。 3 int a= 11; 4 switch (a) { 5 default: 6 System.out.println(-1); 7 //break; 8 case 1: 9 System.out.println(1); 10 break; 11 case 5: 12 System.out.println(5); 13 break; 14 case 10: 15 System.out.println(10); 16 break; 17 }
迴圈結構
-
while迴圈
1 // 語法 2 while (布林表示式) { 3 // 迴圈內容 4 }
-
do...while迴圈
1 // 語法 2 do { 3 // 程式碼語句 4 } while(布林表示式);
do...while迴圈和while迴圈相似,不同的是,do...while迴圈至少會執行一次。
do...while迴圈和while迴圈區別:
1. while先判斷後執行,do...while先執行後判斷。
2. do...while迴圈保證迴圈體至少會執行一次,這是他們的主要差別。
-
for迴圈
1 // 語法 2 for (初始化;布林表示式;更新) { 3 // 程式碼語句 4 } 5 6 // 死迴圈 7 for(;;){ 8 // 程式碼語句 9 }
for迴圈是支援迭代的一種通用結構,是最有效、最靈活的迴圈結構。
for迴圈執行的次數是在執行前就確定的。
-
java5引入一種主要用於陣列的增強for迴圈
1 // 語法 2 for (宣告語句:表示式) { 3 // 程式碼語句 4 } 5 6 // 例子 7 int[] numbers = {10,20,30,40,50}; // 定義一個數組 8 for (int x : numbers) { 9 System.out.println(x); 10 }
-
break、continue
break用於強行退出整個迴圈,不執行迴圈中剩餘的語句。用於迴圈語句和switch語句中。
continue用於終止某次迴圈過程,繼續執行下一次迴圈判定。只用在迴圈語句中。
參考課程:狂神說Java