JAVA新手教學 (9) – 結構化程式設計

結構化程式設計 Structured programming),一種程式設計典範。主要是來改善電腦程式的明晰性、品質以及開發時間。大部分的程式是一列接著一列執行的,也就是所謂的「循序執行」。不過對於複雜的工作來說,可以透過流程控制結構來改變執行順序,我們將這兩種方法稱為「結構化程式設計」。

結構化程式


追蹤挨踢路人甲的FB 粉絲專頁: 點選這裡
Telegram 訂閱挨踢路人甲文章: 點選這裡

結構化程式設計

結構化程式設計是指在程式中,依照邏輯特性將程式細分成幾個較小的問題,再繼續細分直到容易編寫的程式單元為止。

  • 優點 : 易除錯、可分工、可讀性高、易維護。
  • 缺點 : 程式碼長、執行時間較久。

 

三項結構式指令

  • 循序結構
  • 選擇結構(if,if else,switch)
  • 重複結構(while,do…while,for)

這三種結構指令皆由兩種方式組合而成

  1. 堆疊:一控制結疊在另一種控制結構前後,控制結構間有單進單出的關連。
  2. 巢狀內嵌:一控制結構內嵌另一個控制結構。

選擇結構

選擇結構是一種條件控制敘述,也就是所謂的選擇題,可以多選一、二選一或單選一。程式的執行是依照條件運算式的條件,來決定執行哪一個程式區塊的程式碼。

選擇指令

  • 單選 if指令
  • 雙選if else指令
  • 多選switch指令

if跟if else的部分可以參考JAVA新手教學 (3) – 運算子與簡易 if 指令,switch指令會在之後的單元進行講解。

重複結構

重複結構又稱為迴圈控制當迴圈的執行條件為真時,可以重複執行同一個區塊的程式碼,並提供結束條件來結束迴圈執行。

前測試重複結構:測試迴圈結束條件在成數區塊的開頭,控制執行區塊執行零次或多次
後測試重複結構:測試迴圈結束條件在成數區塊的結尾,控制執行區塊執行至少一次

重複指令

  • for(前測試)指令
  • while(後測試)指令
  • do…while(後測試)指令

以上3種指令皆會在下一個章節做講解。

 

堆疊與巢狀內嵌控制敘述式

控制敘述式有if else、switch、while、for、do…while,寫法如下圖。

堆疊的部份大家都相當清楚,至於巢狀的部份,我們拿大家比較熟悉的if指令來舉例子

  • 巢狀if指令

以下圖為例子,當執行第一個if指令時會判斷變數x是否大於50,如果沒有大於50,程式段內的程式碼就不會執行。如果大於50則會繼續執行程式段內的程式碼,遇到第二個if指令時判斷x是否小於100,以此類推。

  • 巢狀if指令else的依附問題

當我們的巢狀內嵌有多個if else時,該怎麼判定哪一個else是依附於哪一個if呢?以下圖為例,if(x>50)判斷變數x是否大於50是的話會執行程式段裡的內容,進行到if(x<100)判斷x是否小於100,如果小於就執行程式段內容,大於等於就會執行第一個else假設今天x<=50那麼第一個if會跳過並執行第二個else。由此可知第一個else會依附於離他最近的if,第二個else會依附於離他第二近的if,如同鏡子一般向外延伸。

到這裡大家大概對結構化程式設計有了初步的理解,接下來的幾個章節會針對其中的語言逐一講解。

 

延伸閱讀:

 

肥柴
肥柴

共筆小編:肥柴

文章: 58