【JAVA SE基礎篇】12.選擇結構內容

選擇結構分爲四種:if單選擇結構、if-else雙選擇結構、if-else if-else多選擇結構、switch結構spa

一、if單選擇結構it

格式:程序

if(【布爾表達式】或者【true/false】){co

【語句塊】cas

}閱讀

表示的意思是:

若是布爾表達式結果是true或者直接就是true,則執行大括號內語句塊,再執行大括號後面的語句

若是布爾表達式結果是false或者直接就是false,直接跳過大括號內語句塊,此if單選結構失效,執行大括號後面語句

例:

if(3<2){
System.out.println("3<2真的");//不輸出
}
System.out.println("3<2假的");//輸出

if後的大括號能夠不寫,若是不寫只做用於第一個語句,分號結束。可是不管如何都必須寫,增強閱讀性。

二、if-else雙選擇結構

格式:

if(【布爾表達式】或者【true/false】){

【語句塊1】

}else{

【語句塊2】

}

表示的意思是:

若是布爾表達式結果是true或者直接就是true,則執行語句塊1,而且語句塊2不執行,直接跳過語句塊2,執行程序後面其餘語句塊

若是布爾表達式結果是false或者直接就是false,直接跳語句塊1,執行語句塊2,再執行程序後面其餘語句塊

例:

int score=80;
if(score>60){
System.out.println("及格");//輸出
}else{
System.out.println("不及格");//不輸出
}

三、if-else if-else多選擇結構

格式:

if(【布爾表達式1】或者【true/false】){

【語句塊1】

}else  if(【布爾表達式2】或者【true/false】){

【語句塊2】

}.......

else if(【布爾表達式n】或者【true/false】){

【語句塊n】

}else{

【語句塊n+1】

}

當布爾表達式1爲真,則執行語句塊1並跳過剩下全部多選擇結構語句,不然判斷布爾表達式2,

當布爾表達式2真時,則執行語句塊2並跳過剩下全部多選擇結構語句,以此類推。

若是布爾表達式1-n都爲假,則執行語句塊n+1,也就是else下的語句塊。

例:

int a=10;
if(a<1){
System.out.println("是個小數");
}else if((a<10)&&(a>1)){
System.out.println("是個個位數數");
}else if((a<100)&&(a>9)){
System.out.println("是個兩位數");//執行並輸出
}else if((a<1000)&&(a>99)){
System.out.println("是個三位數");
}else{
System.out.println("是個很大的數");
}

四、switch結構

格式:

switch(【原始表達式】){

case 【值1】:【語句表達式1】;

case 【值2】:【語句表達式2】;

。。。

case 【值y】:【語句表達式y】;

。。。

case 【值n】:【語句表達式n】;

default:【默認表達式】;(deafult及其默認表達能夠不寫)

}

用法:先算【原始表達式】的值,若是【原始表達式】的值與【值1】~【值n】中某一個【值y】相同,那麼從【語句表達式y】開始執行

再執行【語句表達式y+1】,直到【語句表達式n】,最後執行【默認表達式】

若是再switch語句中看到了break;那麼此流程控制語句被打斷,直接跳過流程控制語句。

int a=1;
switch(a){
case 0:
a++;//不執行
case 1:
a--;//a變成0
case 2:
++a;//a變成1
case 3:
--a;//a變成0
default:
System.out.println(a);//輸出0
}

注意:switch用於等值的判斷。case後面必須是個值,不能夠是區間

當布爾表達式是等值判斷時,既能夠多選擇結構,也能夠用switch結構

當布爾表達式是區間判斷時,只能用多選擇結構。

任何switch結構均可以用多選擇結構替代

但遇到多值判斷時,用switch結構,可閱讀性更強

相關文章
相關標籤/搜索