流程控制語句
流程控制語句 :?
順序結(jié)構(gòu) : 從上到下 ,從左到右
選擇結(jié)構(gòu) : 滿足條件執(zhí)行對應(yīng)的代碼段
if..else
switch
循環(huán)結(jié)構(gòu) : 根據(jù)條件決定,使一段代碼重復(fù)執(zhí)行多次
for
while
do..while
if語句 :?
單選擇|單分支 :?
if(條件){
滿足條件執(zhí)行的代碼段;
}
條件 : 必須為值為boolean表達(dá)式
雙選擇|雙分支 :?
if(條件){
滿足條件執(zhí)行的代碼段;
}else{
不滿足條件執(zhí)行的代碼段;
}
多選擇|多分支 :?
if(條件1){
滿足條件1執(zhí)行的代碼段;
}else if(條件2){
滿足條件2執(zhí)行的代碼段;
}else if(條件3){
滿足條件3執(zhí)行的代碼段;
}...
else{
以上的條件如果都不滿足執(zhí)行的代碼段;
}
注意 :?
如果{}中的語句體只有一句,前后的{}可以省略
switch
jdk12之前 :?
(表達(dá)式){
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
...
default :?
語句體n;
break;
}
表達(dá)式 : 可以為一個具體表達(dá)式,可以為一個變量
類型要求 : byte short int char enum(jdk1.5新增枚舉)? String(jdk1.7新增字符串)
case : case后面的值就是與表達(dá)式的結(jié)果進(jìn)行判斷是否相等,滿足相等執(zhí)行對應(yīng)的語句體,不相等繼續(xù)向下判斷
break : 終止swtich語句
如果語句體后不寫,會發(fā)生case穿透,需要在適合的場景下使用,可以簡化代碼結(jié)構(gòu)
default : 默認(rèn)的,如果所有的case都不滿足,最終執(zhí)行default后面的語句體-->else
位置可以調(diào)整,但是一般放在最后
jdk12新增 ->語法代替:,省略break ,可以在case后面同時判斷多個
jdk13 :可以通過yield定義switch返回值
注意 : 如果一個存在返回值的switch,必須存在default
以上jdk14正式更新