Java基本語法——程序流程控制

Java基本語法——程序流程控制

流程控制語句是用來控制程序中各語句執行順序的語句,可以把語句組合成能完成一定功能的小邏輯模塊。其流程控制方式採用結構化程序設計中規定的三種基本流程結構,即:
1.順序結構
2.分支結構
3.循環結構

順序結構:
程序從上到下逐行地執行,中間沒有任何判斷和跳轉。
分支結構:
根據條件,選擇性地執行某段代碼。
有if…else和switch-case兩種分支語句。
循環結構:
根據循環條件,重複性的執行某段代碼。
有while、do…while、for三種循環語句。
注:JDK1.5提供了foreach循環,方便的遍歷集合、數組元素。

分支語句1:if-else結構

if語句三種格式:

  1. if(條件表達式){
    執行代碼塊;
    }
    在這裏插入圖片描述
  2. if(條件表達式){
    執行代碼塊1;
    }
    else{
    執行代碼塊2;
    }
    在這裏插入圖片描述
  3. if(條件表達式1){
    執行代碼塊1;
    }
    else if (條件表達式2){
    執行代碼塊2;
    }
    ……
    else{
    執行代碼塊n;
    }
    在這裏插入圖片描述
    分支結構:if-else使用說明:
    1.條件表達式必須是布爾表達式(關係表達式或邏輯表達式)、布爾變量
    2.語句塊只有一條執行語句時,一對{}可以省略,但建議保留
    3.if-else語句結構,根據需要可以嵌套使用
    4.當if-else結構是“多選一”時,最後的else是可選的,根據需要可以省略
    5.當多個條件是“互斥”關係時,條件判斷語句及執行語句間順序無所謂當多個條件是“包含”關係時,“小上大下 / 子上父下”

分支語句2:switch-case結構

switch(表達式){
case 常量1:
語句1;
// break;
case 常量2:
語句2;
// break; … …
case 常量N:
語句N;
// break;
default:
語句;
// break;
}
在這裏插入圖片描述
switch語句有關規則:
1.switch(表達式)中表達式的值必須是下述幾種類型之一:byte,short,char,int,枚舉 (jdk 5.0),String (jdk 7.0);
2. case子句中的值必須是常量,不能是變量名或不確定的表達式值;
3.同一個switch語句,所有case子句中的常量值互不相同;
4.break語句用來在執行完一個case分支後使程序跳出switch語句塊;如果沒有break,程序會順序執行到switch結尾
5.default子句是可任選的。同時,位置也是靈活的。當沒有匹配的case時,執行default

switch和if語句的對比:
if和switch語句很像,具體什麼場景下,應用哪個語句呢?
如果判斷的具體數值不多,而且符合byte、short 、char、int、String、枚舉等幾種類型。雖然兩個語句都可以使用,建議使用swtich語句。因爲效率稍高。
其他情況:對區間判斷,對結果爲boolean類型判斷,使用if,if的使用範圍更廣。也就是說,使用switch-case的,都可以改寫爲if-else。反之不成立。

循環結構

循環結構:
在某些條件滿足的情況下,反覆執行特定代碼的功能

循環語句分類:
1.for 循環
2.while 循環
3.do-while 循環

循環語句的四個組成部分
1.初始化部分(init_statement)
2.循環條件部分(test_exp)
3.循環體部分(body_statement)
4.迭代部分(alter_statement)

在這裏插入圖片描述

循環結構1:for循環

語法格式:
for (①初始化部分; ②循環條件部分; ④迭代部分){ ③循環體部分; }
執行過程:
①-②-③-④-②-③-④-②-③-④-…-②
說明:
②循環條件部分爲boolean類型表達式,當值爲false時,退出循環
①初始化部分可以聲明多個變量,但必須是同一個類型,用逗號分隔
④可以有多個變量更新,用逗號分隔

for 循環執行演示:
在這裏插入圖片描述

循環結構2:while循環

語法格式:
①初始化部分
while(②循環條件部分){ ③循環體部分; ④迭代部分; }
執行過程:
①-②-③-④-②-③-④-②-③-④-…-②
說明:
注意不要忘記聲明④迭代部分。否則,循環將不能結束,變成死循環。
for循環和while循環可以相互轉換

循環結構3:do-while循環

語法格式:
①初始化部分;
do{
③循環體部分
④迭代部分
}while(②循環條件部分);
執行過程:
①-③-④-②-③-④-②-③-④-…②
說明:
do-while循環至少執行一次循環體。

嵌套循環

將一個循環放在另一個循環體內,就形成了嵌套循環。其中,for ,while ,do…while均可以作爲外層循環或內層循環。
實質上,嵌套循環就是把內層循環當成外層循環的循環體。當只有內層循環的循環條件爲false時,纔會完全跳出內層循環,纔可結束外層的當次循環,開始下一次的循環。
設外層循環次數爲m次,內層爲n次,則內層循環體實際上需要執行m*n次。

特殊關鍵字的使用:break、continue

break 語句:
break語句用於終止某個語句塊的執行{ ……
break;
……
}
break語句出現在多層嵌套的語句塊中時,可以通過標籤指明要終止的是哪一層語句塊
label1: { ……
label2: { ……
label3: { ……
break label2;
……
} } }

continue 語句:
continue只能使用在循環結構中
continue語句用於跳過其所在循環語句塊的一次執行,繼續下一次循環
continue語句出現在多層嵌套的循環語句體中時,可以通過標籤指明要跳過的是哪一層循環

return:並非專門用於結束循環的,它的功能是結束一個方法。當一個方法執行到一個return語句時,這個方法將被結束。
與break和continue不同的是,return直接結束整個方法,不管這個return處於多少層循環之內

特殊流程控制語句說明:
1.break只能用於switch語句和循環語句中。
2.continue 只能用於循環語句中。
3.二者功能類似,但continue是終止本次循環,break是終止本層循環。
4.break、continue之後不能有其他的語句,因爲程序永遠不會執行其後的語句。
5.標號語句必須緊接在循環的頭部。標號語句不能用在非循環語句的前面。
6.很多語言都有goto語句,goto語句可以隨意將控制轉移到程序中的任意一條語句上,然後執行它。但使程序容易出錯。Java中的break和continue是不同於goto的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章