選擇結構
在程序設計時,經常需要使用選擇結構在程序中完成邏輯判斷和選擇功能,這就需要使用到選擇語句。
Java中的選擇語句包括if語句和switch語句。
選擇語句用來控制選擇結構,對選擇條件進行判斷,並根據判斷結果選擇要執行的程序語句,改變程序執行流程。
if選擇語句
if單分支選擇語句

if(條件表達式){
一條或多條語句;
}
后續語句;
或者
//if或者else后如果只有一條語句可以省略大括號
if(條件表達式) 一條語句;
后續語句;
if語句執行的過程如下:
- 對if后面括號里的條件表達式進行判斷;
- 如果條件表達式的值為true,就執行表達式后面的語句或后面大括號里的多條語句;
- 如果條件表達式的值為false,則跳過if語句,執行后續語句
If else雙分支選擇結構

if(條件表達式){
語句塊1;
}else{
語句塊 2;
}
if-else語句執行的過程如下:
- 對if后面括號里的條件表達式進行判斷;
- 如果條件表達式的值true,就執行語句塊1;
- 如果條件表達式的值為false,就執行語句塊2
if-else-if多分支選擇語句

if(條件表達式1){
語句塊1;
}else if(條件表達式2){
語句塊1;
}
. . .
else(條件表達式n){
語句塊n;
}
if-else-if語句執行的過程如下:
- 對if后面括號里的條件表達式進行判斷;
- 如果條件表達式的值為true,就執行語句塊1;
- 否則,對條件表達式2進行判斷。如果條件表達式的值為true,就執行語句塊2
- 否則,以此類推;
- 如果所有條件表達式的值都為false,最后執行語句塊n。
switch語句
當選擇結構的分支越多時,if-else-if語句就會變得越來越難懂。Java提供了另一種多分支語句——switch語句。switch語句是多分支的開關語句。

switch(表達式){
case常量表達式1:語句組1;
break;
case常量表達式1:語句組1;
break;
…
case常量表達式1:語句組1;
break;
default:語句塊n
}
switch語句執行的過程如下:
- 將switch表達式的值與各個case后面的常量表達式的值一一進行比較;
- 當表達式的值與某個case分支的值相等時,程序執行從case分支開始的語句組;
- 如果沒有任何一個case分支的值與switch表達式的值相匹配,並且switch語句含有default分支語句,則程序執行default分支中的語句組;
- 直到遇到break語句或右大括號,結束switch語句。
總結
從功能上來講,if語句和switch語句都是多分支選擇語句,在通常情況下,對於多分支選擇結構,使用if語句和使用switch語句從作用上講是相同的。但是在實際編寫程序時,一般遵循下面的使用原則。
- 如果分支的層次不超過三層,那么通常使用if-else-if語句;否則,使用switch語句。
- 如果條件判斷語句是對一個變量是否屬於一個范圍進行判斷,如“a>60 && a<89”,這時要使用if-else-if語句。
- 如果是對同一個變量的不同值做條件判斷,既可以使用if-else-if語句,也可以使用switch語句。但建議優先使用switch語句,其執行效率相對高一些。