Java程式設計的基本結構 – 循環結構

  • 2020 年 4 月 10 日
  • 筆記

寫在前面:部落客是一隻經過實戰開發歷練後投身培訓事業的「小山豬」,昵稱取自動畫片《獅子王》中的「彭彭」,總是以樂觀、積極的心態對待周邊的事物。本人的技術路線從Java全棧工程師一路奔向大數據開發、數據挖掘領域,如今終有小成,願將昔日所獲與大家交流一二,希望對學習路上的你有所助益。同時,部落客也想通過此次嘗試打造一個完善的技術圖書館,任何與文章技術點有關的異常、錯誤、注意事項均會在末尾列出,歡迎大家通過各種方式提供素材。

  • 對於文章中出現的任何錯誤請大家批評指出,一定及時修改。
  • 有任何想要討論和學習的問題可聯繫我:[email protected]
  • 發布文章的風格因專欄而異,均自成體系,不足之處請大家指正。

Java程式設計的基本結構 – 循環結構

文本關鍵字:基本結構、循環結構、while、do-while、for

一、循環的基本結構

為了講解方便,我們可以將循環結構劃分為四個部分來進行描述。當然,這四個部分並不是都要出現,甚至在都不出現時也可以構成一個循環結構。並且,對於不同的循環結構,每個部分的相對位置也不同。

1. 初始化部分

在進入循環結構之前可以定義一些循環中以及循環結束後都要用到的變數,進行賦值。

2. 判斷條件部分

用於決定是否繼續進行循環,如果為假,則循環結束。判斷部分可以直接使用一個布爾類型的變數,或者使用表達式,但是必須保證表達式的結果為布爾類型。

3. 循環體部分

循環結構的核心部分,用於書寫每次想要重複執行的程式碼,通常要根據程式功能來設計。

4. 迭代部分

用於輔助控制循環的結束,在循環體之後執行,如變數自增等。

與判斷結構類似,當不使用大括弧時,循環結構只能控制一行程式碼,通常我們會添加大括弧。

二、while循環

1. 循環結構

[初始化部分]  (條件判斷部分){      循環體      [迭代部分]  }

2. 循環特點

對於while循環,通常用於循環次數不確定時,如:讓使用者決定什麼時候退出循環。

  • 可以用一個布爾變數直接來決定循環是否繼續
  • 可以用break關鍵字隨時跳出循環
  • 當條件判斷部分不成立時結束循環
  • 初始化部分和迭代部分可以省略
  • 條件判斷部分後如果出現分號會導致結構直接結束

3. 示常式序

  • 循環輸出1到9
   (String[] args){         i = ;        (i <= ){            System..(i);            i++;      }  }
  • 猜字程式
 ;   ;  {         (String[] args){            Scanner sc =  Scanner(System.);            Random random =  Random();             n = random.();             flag = ;            (flag){              System..();                 temp = sc.();                (temp == n){                  System..();                    flag = ;              }{                    System..();                    (sc.() == ){                        flag = ;                  }              }          }            sc.();      }  }

三、do-while循環

1. 循環結構

[初始化部分]  {      循環體      [迭代部分]  }(條件判斷部分);

2. 循環特點

do-while循環與while循環的用法基本相同,主要的不同點在於循環體(迭代部分)一定會先執行一次,然後再進行判斷,這非常適合在初學時做成菜單程式。

  • 可以用一個布爾變數直接來決定循環是否繼續
  • 可以用break關鍵字隨時跳出循環
  • 當條件判斷部分不成立時結束循環
  • 初始化部分和迭代部分可以省略

3. 示常式序

  • 菜單程式

break只能跳出離自己最近一層的switch-case或循環結構,如果想直接跳出指定層的循環,需要使用到自定義標籤。自定義標籤的用法比較簡單,直接在一個循環結構的起始位置加一個單詞,配合冒號使用,在進行跳出時,可以在break後面添加自定義標籤的名稱,即可跳出指定層的循環。

 ;  {         (String[] args){            Scanner sc =  Scanner(System.);            out:{              System..();              System..();              System..();              System..();              System..();                 select = sc.();              (select){                   :                        ;                   :                        ;                   :                         out;              }            }();            sc.();      }  }

四、for循環

1. 循環結構

(初始化部分;條件判斷部分;迭代部分){      循環體  }

2. 循環特點

for循環主要用於循環次數確定的情況,通常使用break直接跳出循環是由於已經完成了所需工作,終止剩餘無用循環以提高程式運行效率。

  • for循環的一個明顯特點在於初始化部分,迭代部分的控制比較方便,可以完全在循環內部完成
  • 初始化部分寫在小括弧中第一個位置,只會執行一次
  • 如果在初始化部分聲明一個新的變數,則該變數只能在循環內部使用
  • 判斷條件出現在小括弧的中間位置,可以是布爾類型的變數或表達式,也可以直接省略使用break關鍵字手動跳出
  • 迭代部分通常用於變數的控制,每次循環體結束後執行
  • continue關鍵字可以用於所有的循環結構,作用是立即結束當前循環(跳過循環體的剩餘部分內容,迭代部分依然會執行),進入下一次循環

3. 示常式序

  • 計算整數1~10的加和
   (String[] args){         sum = ;      ( i = ;i <= ;i++){            sum += i;      }        System..(sum);  }
  • 輸出整數0~100範圍內的所有偶數
   (String[] args){      ( i = ;i <= ;i++){            (i %  != ){                ;          }          System..(i);      }        System..(sum);  }

五、死循環

死循環的出現是由於我們沒有正確的指定循環的終止條件和控制相關的變數,導致判斷條件部分一直為真,使得循環結構無法結束。但有些時候根據功能需要我們會手動先構造一個死循環,然後使用break來進行跳出,如:菜單程式,由用戶來決定什麼時候結束,進行循環的跳出。手動構建一個死循環十分簡單,但是如果意外的出現死循環就需要優先檢查條件判斷部分以及相關變數的變化了。

1. while循環

(){      循環體  }

2. do-while循環

{      循環體  }()

3. for循環

(;;){      循環體  }

更多推薦

Java程式設計的基本結構+-+選擇結構