JAVA-選擇結構( if else與switch)
邏輯運算子
符號 |
含義 |
運算規則 |
! |
邏輯非, not, 不 |
求反 |
&& |
邏輯與, and, 並且 |
只有兩端都為true結果才為true |
|| |
邏輯或, or, 或者 |
只要有一端為true結果就為true |
注意: 邏輯運算子只對邏輯值(boolean)進行運算, 它的兩側必須是boolean表示式!
運算子優先順序
() > ! > 算術運算 > 比較運算 > && > || > 賦值運算子
if結構
if(條件){
程式碼塊
}
後續程式碼
執行過程: 條件成立則執行裡面的程式碼塊,然後執行後續的程式碼; 條件不成立則跳過程式碼塊, 直接執行後續程式碼.
if-else結構
if(條件){
程式碼塊1
}else{
程式碼塊2
}
後續程式碼
條件成立則執行程式碼塊1, 否則執行程式碼塊2.
多重if
if(條件1){
程式碼塊1
}else if(條件2){
程式碼塊2
} ... {
} else {
}
執行過程: 依次判斷各個條件, 為真則執行其中的程式碼塊, 然後跳出整個結構.
巢狀if
只要你需要判斷(存在如果的邏輯), 大膽寫if就好,管它巢狀不巢狀.
String型的等值比較
strA.equals(strB)
switch選擇結構
switch( 表示式 ){
case 常量:
程式碼塊
break;
case 常量:
程式碼塊
break;
...
default:
程式碼塊;
break;
}
執行過程: 計算表示式的值, 和case後的常量進行一一等值比較, 如果相等, 執行相應的程式碼塊, 遇到break則跳出整個switch結構; 如果沒有匹配的case塊, 則執行default中的程式碼塊.
switch的限制:
1.表示式只支援byte,short,int,char,enum(列舉),String(jdk1.8+)型別.
2.只支援等值判斷
省略break的特殊情況:
如果某個case匹配上了表示式, 而這個case中沒有break, 則無腦向下執行程式碼, 直到遇到break為止!
注意:
default塊不一定要放在最後
多個case後的常量不能相等