1. 程式人生 > >JAVA-選擇結構( if else與switch)

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後的常量不能相等