1. 程式人生 > 其它 >Java學習-03-Java流程控制

Java學習-03-Java流程控制

Java流程控制

內容概要:

1. 使用者互動Scanner

2. 順序結構

3. 選擇結構

4. 迴圈結構

使用者互動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為true
4 } 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      case
value : // 語句 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