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

好程序員大數據教程分享大數據之流程控制,程序在運行的時候, 對代碼執行的先後順序, 稱作程序的執行結構. 在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, 可以在循環體中控制跳出循環
循環步長: 可以在循環體中控制步長
關於大括號

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章