大數(shù)據(jù)教程分享大數(shù)據(jù)之流程控制,程序在運(yùn)行的時(shí)候, 對(duì)代碼執(zhí)行的先后順序, 稱作程序的執(zhí)行結(jié)構(gòu). 在Java中, 程序的執(zhí)行結(jié)構(gòu)分為三種:
- 順序結(jié)構(gòu): 代碼從上往下逐行執(zhí)行, 是程序執(zhí)行的基本結(jié)構(gòu)
- 分支結(jié)構(gòu): 代碼執(zhí)行到某一個(gè)節(jié)點(diǎn)遇到多個(gè)分支, 選擇其中的一個(gè)分支執(zhí)行, 其他的分支都不執(zhí)行
- 循環(huán)結(jié)構(gòu): 某一個(gè)代碼段需要重復(fù)的執(zhí)行
程序默認(rèn)采用的是順序結(jié)構(gòu), 我們也可以通過(guò)一些語(yǔ)句來(lái)修改程序的執(zhí)行結(jié)構(gòu), 這樣的語(yǔ)句叫做**流程控制語(yǔ)句**, 按照修改的執(zhí)行結(jié)構(gòu)不同, 可以分為 **分支流程控制** 和 **循環(huán)流程控制**
1.3.1 分支流程控制--if
基礎(chǔ)語(yǔ)法
java
if (condition) {
// 代碼段1
}
else {
// 代碼段2
}
邏輯: condition是一個(gè)boolean類(lèi)型的變量, 或者一個(gè)boolean結(jié)果的表達(dá)式. 如果condition的值為true, 則代碼段1執(zhí)行, 否則, 代碼段2執(zhí)行
進(jìn)階
java
if (condition1) {
// 代碼段1
}
else if (condition2) {
// 代碼段2
}
else {
// 代碼段3
}
邏輯: 先判斷condition1, 如果condition1成立, 執(zhí)行代碼段1; 如果condition1不成立, 再判斷condition2, 如果condition2成立, 執(zhí)行代碼段2, 否則執(zhí)行代碼段3
特殊說(shuō)明
在if-else語(yǔ)句中, 如果某一個(gè)代碼段中只有一句語(yǔ)句, 則大括號(hào)可以省略; 但是從語(yǔ)法的規(guī)范來(lái)說(shuō), 一般情況下, 我們是不省略的
1.3.2 分支流程控制--switch
基礎(chǔ)語(yǔ)法
java
switch (variable) {
case value1:
case value2:
default:
}
邏輯: variable是一個(gè)變量, switch語(yǔ)句捕獲這個(gè)變量的值; 如果變量的值和某一個(gè)case后面的值相同了, 就會(huì)執(zhí)行這個(gè)case后面的語(yǔ)句; 如果變量的值沒(méi)有和任意的一個(gè)value相同, 則執(zhí)行default后面的值
注意事項(xiàng)
在switch-case語(yǔ)句中有穿透性, 即: 如果variable的值和某一個(gè)value匹配了, 會(huì)執(zhí)行從這個(gè)case開(kāi)始, 一直到switch語(yǔ)句結(jié)束, 后面所有的代碼, 且跳過(guò)后面的case匹配; 為了避免穿透, 可以使用關(guān)鍵字**break**來(lái)跳出switch語(yǔ)句
1.3.3 循環(huán)流程控制--while
基礎(chǔ)語(yǔ)法
java
while (condition) {
// 循環(huán)體
}
邏輯: 每次循環(huán)線判斷condition, 如果為true, 循環(huán)體執(zhí)行, 然后再判斷condition; 直到condition為false, 循環(huán)結(jié)束
do-while
java
do {
// 循環(huán)體
} while (condition);
邏輯: 先執(zhí)行一次循環(huán)體, 然后再判斷循環(huán)條件是否成立
關(guān)鍵字 break, continue 與 循環(huán)標(biāo)簽
break
用在循環(huán)中, 表示跳出循環(huán); 如果用在多層循環(huán)中, 只會(huì)跳出當(dāng)前的一層循環(huán)
continue
用在循環(huán)中, 表示繼續(xù)循環(huán), 從continue開(kāi)始, 后面所有的代碼不執(zhí)行, 直接進(jìn)入下次循環(huán)
循環(huán)標(biāo)簽
一般用在多層循環(huán)中, 可以給每一個(gè)循環(huán)都添加一個(gè)標(biāo)簽; 可以配合break語(yǔ)句, 直接結(jié)束指定的循環(huán). 或者配合continue語(yǔ)句, 直接終止指定循環(huán)的執(zhí)行, 立即進(jìn)入下次循環(huán)
1.3.4 循環(huán)流程控制--for
基礎(chǔ)語(yǔ)法
java
for (循環(huán)起點(diǎn); 循環(huán)條件; 循環(huán)步長(zhǎng)) {
循環(huán)體
}
邏輯:
先執(zhí)行循環(huán)起點(diǎn), 一般用與定義一個(gè)控制循環(huán)的變量, 或者給這個(gè)變量一個(gè)初始值
再判斷循環(huán)條件是否成立, 如果循環(huán)條件成立, 執(zhí)行循環(huán)體, 再執(zhí)行循環(huán)步長(zhǎng), 然后重新判斷循環(huán)條件
如果循環(huán)條件不成立, 循環(huán)結(jié)束
特殊說(shuō)明
- 關(guān)于語(yǔ)法省略
- for循環(huán)的小括號(hào)中由三部分組成, 這三個(gè)部分都可以省略:
- 循環(huán)起點(diǎn): 變量的定義可以放在循環(huán)外
- 循環(huán)條件: 如果省略, 默認(rèn)是true, 可以在循環(huán)體中控制跳出循環(huán)
- 循環(huán)步長(zhǎng): 可以在循環(huán)體中控制步長(zhǎng)
- 關(guān)于大括號(hào)
- 如果循環(huán)體中只有一句語(yǔ)句, 循環(huán)體大括號(hào)可以省略; 但是出于規(guī)范, 一般我們也不省略
聯(lián)系客服