好程序員大數據教程分享大數據之流程控制

好程序員大數據教程分享大數據之流程控制,程序在運行的時候, 對代碼執行的前後順序, 稱做程序的執行結構. 在Java中, 程序的執行結構分爲三種:程序員

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

程序默認採用的是順序結構, 咱們也能夠經過一些語句來修改程序的執行結構, 這樣的語句叫作流程控制語句, 按照修改的執行結構不一樣, 能夠分爲 分支流程控制 和 循環流程控制大數據

1.3.1 分支流程控制--ifcode

基礎語法教程

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

邏輯: condition是一個boolean類型的變量, 或者一個boolean結果的表達式. 若是condition的值爲true, 則代碼段1執行, 不然, 代碼段2執行it

進階io

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

邏輯: 先判斷condition1, 若是condition1成立, 執行代碼段1; 若是condition1不成立, 再判斷condition2, 若是condition2成立, 執行代碼段2, 不然執行代碼段3for循環

特殊說明基礎

在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, 能夠在循環體中控制跳出循環
    • 循環步長: 能夠在循環體中控制步長
  • 關於大括號

    • 若是循環體中只有一句語句, 循環體大括號能夠省略; 可是出於規範, 通常咱們也不省略
相關文章
相關標籤/搜索