好程式設計師大資料教程分享大資料之流程控制

好程式設計師IT發表於2019-11-19

好程式設計師大資料教程分享大資料之流程控制,程式在執行的時候, 對程式碼執行的先後順序, 稱作程式的執行結構. 在Java中, 程式的執行結構分為三種:

  • 順序結構: 程式碼從上往下逐行執行, 是程式執行的基本結構
  • 分支結構: 程式碼執行到某一個節點遇到多個分支, 選擇其中的一個分支執行, 其他的分支都不執行
  • 迴圈結構: 某一個程式碼段需要重複的執行

程式預設採用的是順序結構, 我們也可以透過一些語句來修改程式的執行結構, 這樣的語句叫做流程控制語句, 按照修改的執行結構不同, 可以分為 分支流程控制 和 迴圈流程控制

1.3.1 分支流程控制--if

基礎語法

if (condition) {
    // 程式碼段1
}
else {
    // 程式碼段2
}

邏輯: condition是一個boolean型別的變數, 或者一個boolean結果的表示式. 如果condition的值為true, 則程式碼段1執行, 否則, 程式碼段2執行

進階

if (condition1) {
    // 程式碼段1
}
else if (condition2) {
    // 程式碼段2
}
else {
    // 程式碼段3
}

邏輯: 先判斷condition1, 如果condition1成立, 執行程式碼段1; 如果condition1不成立, 再判斷condition2, 如果condition2成立, 執行程式碼段2, 否則執行程式碼段3

特殊說明

在if-else語句中, 如果某一個程式碼段中只有一句語句, 則大括號可以省略; 但是從語法的規範來說, 一般情況下, 我們是不省略的

1.3.2 分支流程控制--switch

基礎語法

switch (variable) {
    case value1:
    case value2:
    ...
    default:
}

邏輯: variable是一個變數, switch語句捕獲這個變數的值; 如果變數的值和某一個case後面的值相同了, 就會執行這個case後面的語句; 如果變數的值沒有和任意的一個value相同, 則執行default後面的值

注意事項

在switch-case語句中有穿透性, 即: 如果variable的值和某一個value匹配了, 會執行從這個case開始, 一直到switch語句結束, 後面所有的程式碼, 且跳過後面的case匹配; 為了避免穿透, 可以使用關鍵字break來跳出switch語句

1.3.3 迴圈流程控制--while

基礎語法

while (condition) {
    // 迴圈體
}

邏輯: 每次迴圈線判斷condition, 如果為true, 迴圈體執行, 然後再判斷condition; 直到condition為false, 迴圈結束

do-while

do {
    // 迴圈體
} while (condition);

邏輯: 先執行一次迴圈體, 然後再判斷迴圈條件是否成立

關鍵字 break, continue 與 迴圈標籤

break

用在迴圈中, 表示跳出迴圈; 如果用在多層迴圈中, 只會跳出當前的一層迴圈

continue

用在迴圈中, 表示繼續迴圈, 從continue開始, 後面所有的程式碼不執行, 直接進入下次迴圈

迴圈標籤

一般用在多層迴圈中, 可以給每一個迴圈都新增一個標籤; 可以配合break語句, 直接結束指定的迴圈. 或者配合continue語句, 直接終止指定迴圈的執行, 立即進入下次迴圈

1.3.4 迴圈流程控制--for

基礎語法

for (迴圈起點; 迴圈條件; 迴圈步長) {
    迴圈體
}

邏輯:

先執行迴圈起點, 一般用與定義一個控制迴圈的變數, 或者給這個變數一個初始值

再判斷迴圈條件是否成立, 如果迴圈條件成立, 執行迴圈體, 再執行迴圈步長, 然後重新判斷迴圈條件

如果迴圈條件不成立, 迴圈結束

特殊說明

  • 關於語法省略

    • for迴圈的小括號中由三部分組成, 這三個部分都可以省略:
    • 迴圈起點: 變數的定義可以放在迴圈外
    • 迴圈條件: 如果省略, 預設是true, 可以在迴圈體中控制跳出迴圈
    • 迴圈步長: 可以在迴圈體中控制步長
  • 關於大括號

    • 如果迴圈體中只有一句語句, 迴圈體大括號可以省略; 但是出於規範, 一般我們也不省略


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2664826/,如需轉載,請註明出處,否則將追究法律責任。

相關文章