java 中的三種流程控制語句
1.順序結構
順序結構:是程式最簡單最基本的流程控制,沒有特定的語法結構,按照程式碼的先後順序,依次執行,程式中大多數的程式碼都是這樣執行的。
執行流程:從上往下,依次執行。
2.選擇結構
-
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。 -
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就結束;執行到末尾就結束。 - if語句和switch語句的區別
if語句使用場景:針對結果是boolean型別的判斷
針對一個範圍的判斷
針對幾個常量值的判斷 - switch語句使用場景:針對幾個常量值的判斷
3.迴圈結構
-
for語句
格式:
for(初始化表示式語句;判斷條件語句;控制條件語句){
迴圈體語句;
}
執行流程:
(1)執行初始化表示式語句;
(2)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束迴圈;
(3)執行迴圈體語句;
(4)執行控制條件語句;
(5)回到(2)繼續執行。
注意:初始化表示式語句只執行一次。 - while迴圈
while語句格式:
初始化條件語句;
while(判斷條件語句){
迴圈體語句;
控制條件語句;
}
執行流程:(1)執行初始化條件語句;
(2)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束迴圈;
(3)執行迴圈語句體;
(4)執行控制條件語句;
(5)回到(2)繼續。
do...while迴圈
do...while語句格式:
初始化條件語句
do{
迴圈體語句;
控制條件語句;
}while(判斷條件語句);
執行流程:(1)執行初始化條件語句;
(2)執行迴圈體語句;
(3)執行控制條件語句;
(4)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束迴圈;
(5)回到(2)繼續。 - 三種迴圈的區別
(1)do...while迴圈至少執行一次迴圈體,而for,while迴圈必須先判斷條件是否成立,然後決定是否執行迴圈體語句;
(2)如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈,不知道用for迴圈;
(3)建議先考慮for迴圈,然後是while迴圈,最後是do...while迴圈。
1.順序結構
順序結構:是程式最簡單最基本的流程控制,沒有特定的語法結構,按照程式碼的先後順序,依次執行,程式中大多數的程式碼都是這樣執行的。
執行流程:從上往下,依次執行。
2.選擇結構
-
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。 -
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就結束;執行到末尾就結束。 - if語句和switch語句的區別
if語句使用場景:針對結果是boolean型別的判斷
針對一個範圍的判斷
針對幾個常量值的判斷 - switch語句使用場景:針對幾個常量值的判斷
3.迴圈結構
-
for語句
格式:
for(初始化表示式語句;判斷條件語句;控制條件語句){
迴圈體語句;
}
執行流程:
(1)執行初始化表示式語句;
(2)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束迴圈;
(3)執行迴圈體語句;
(4)執行控制條件語句;
(5)回到(2)繼續執行。
注意:初始化表示式語句只執行一次。 - while迴圈
while語句格式:
初始化條件語句;
while(判斷條件語句){
迴圈體語句;
控制條件語句;
}
執行流程:(1)執行初始化條件語句;
(2)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束迴圈;
(3)執行迴圈語句體;
(4)執行控制條件語句;
(5)回到(2)繼續。
do...while迴圈
do...while語句格式:
初始化條件語句
do{
迴圈體語句;
控制條件語句;
}while(判斷條件語句);
執行流程:(1)執行初始化條件語句;
(2)執行迴圈體語句;
(3)執行控制條件語句;
(4)執行判斷條件語句,看返回值是true還是false,如果是true,繼續執行,如果是false,結束迴圈;
(5)回到(2)繼續。 - 三種迴圈的區別
(1)do...while迴圈至少執行一次迴圈體,而for,while迴圈必須先判斷條件是否成立,然後決定是否執行迴圈體語句;
(2)如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈,不知道用for迴圈;
(3)建議先考慮for迴圈,然後是while迴圈,最後是do...while迴圈。