1.順序結構
順序結構:是程序最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先后順序,依次執行,程序中大多數的代碼都是這樣執行的。
執行流程:從上往下,依次執行。
2.選擇結構
(1)if語句格式
格式1
if(比較表達式orboolean類型的值){
語句體;
}
執行流程:先計算比較表達式的值,返回值true還是false;
如果是true,執行語句體,如果是false,不執行語句體。
格式2
if(比較表達式){
語句體1;
}else{
語句體2;
}
注意:else后面沒有比較表達式,只有if后面有。
執行流程:先計算表達式,返回值是true還是false;
如果是true,執行語句體1;如果是false,執行語句體2。
格式3
if(比較表達式1){
語句體1;
}else if(比較表達式2){
語句體2;
}else if(比較表達式3){
語句體3;
}
........
else{
語句體n;
}
執行流程:先計算表達式1,看返回值是true還是false;
如果是true執行語句體1,if語句結束;
如果是false,計算表達式2,看返回值是true還是false;
如果是true執行語句體2,if語句結束;
如果是false,計算表達式3,看返回值是true還是false;
.........
如果是false,執行語句體n。
(2)switch語句
格式
switch(表達式){
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
case 值3:
語句體3;
break;
...............
default:
語句體n;
break;
}
解釋:
1)switch語句表達式取值:byte,short,int,char,JDK5版本后可以有枚舉,JDK7版本后有String;
2)case后面跟的是要和表達式進行比較的值;
3)語句體可以是一條或多條語句;
4)break表示中斷、結束的意思,可以跳出switch語句;
5)default語句表示所有情況都不匹配的時候,就執行該處語句,與if語句中的else相似。
執行流程:先計算表達式的值,然后和case中的值匹配,如果成功,執行該處語句。否則執行default中的語句。
注意事項:
1)case后面只能是常量,不能是變量,也不能出現相同的值;
2)default可以省略,但不建議,因為他的作用是對不正確情況給出指示;
3)break可以省略,但不建議,會有case穿透現象;
4)default可以在任意位置,但建議在最后;
5)switch語句結束條件:遇到break就結束;執行到末尾就結束。
(3)if語句和switch語句的區別:
if語句使用場景:針對結果是boolean類型的判斷
針對一個范圍的判斷
針對幾個常量值的判斷
switch語句使用場景:針對幾個常量值的判斷
3.循環結構
(1)for語句
格式
for(初始化表達式語句;判斷條件語句;控制條件語句){
循環體語句;
}
執行流程:
1)執行初始化表達式語句;
2)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束循環;
3)執行循環體語句;
4)執行控制條件語句;
5)回到 2)繼續執行。
注意:初始化表達式語句只執行一次。
(2)while循環
while語句格式:
初始化條件語句;
while(判斷條件語句){
循環體語句;
控制條件語句;
}
執行流程:1)執行初始化條件語句;
2)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束循環;
3)執行循環語句體;
4)執行控制條件語句;
5)回到 2)繼續。
(3)do...while循環
do...while語句格式:
初始化條件語句
do{
循環體語句;
控制條件語句;
}while(判斷條件語句)
執行流程:1)執行初始化條件語句;
2)執行循環體語句;
3)執行控制條件語句;
4)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束循環;
5)回到 2)繼續。
(4)三種循環的區別
1)do...while循環至少執行一次循環體,而for,while循環必須先判斷條件是否成立,然后決定是否執行循環體語句;
2)如果你想在循環結束后,繼續使用控制條件的那個變量,用while循環,否則用for循環,不知道用for循環;
3)建議先考慮for循環,然后是while循環,最后是do...while循環。
4.跳轉語句(break、continue)
(1)break語句
在switch條件語句和循環語句中都可以使用break語句。當它出現在switch條件語句中時,作用是終止某個case並跳出switch結構。當它出現在循環語句中,作用是跳出循環語句,執行后面的代碼。
當break語句出現在嵌套循環中的內層循環時,它只能跳出內層循環,如果想使用break語句跳出外層循環則需要對外層循環添加標記。

(2)continue語句
continue語句用在循環語句中,它的作用是終止本次循環,執行下一次循環。
轉自51博客作者zxueb的原創作品-- java 的三種流程控制語句
