日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label)

發(fā)布時(shí)間:2024/10/14 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 1.塊作用域---block
    • 2.條件語句---if/else
    • 3.循 環(huán)
      • while
      • do-while
    • 4.確定&通用循環(huán)
      • for
      • foreach
    • 5.多重選擇---switch
    • 6.中斷控制流程語句
      • 不帶標(biāo)簽的break
      • 帶標(biāo)簽的break
      • continue

本文已同步到:https://www.bithachi.cn/posts/5093c0c3.html

1.塊作用域—block

  • 塊(即復(fù)合語句)是指由一對(duì)大括號(hào)括起來的若干條簡(jiǎn)單的 Java 語句。塊確定了變量的作用域。一個(gè)塊可以嵌套在另一個(gè)塊中,塊內(nèi)可以寫很多語句,。
  • 不能在嵌套的兩個(gè)塊中聲明同名的變量。
  • 例如,下面的代碼就有錯(cuò)誤,而無法通過編譯

2.條件語句—if/else

  • 在 Java 中,條件語句的格式為:
    if (condition) statement
  • 條件必須用括號(hào)括起來

  • 在 Java 中, 更一般的條件語句格式如下所示
    if (condition) statement1 else statement2
  • 其中 else 部分是可選的。else 子句與最鄰近的 if 構(gòu)成一組

3.循 環(huán)

while

  • 當(dāng)條件為 true 時(shí),while 循環(huán)執(zhí)行一條語句(也可以是一個(gè)語句塊)。一般格式為:
    while { condition ) statement
  • 如果開始循環(huán)條件的值就為 false, 則 while 循環(huán)體一次也不執(zhí)行

do-while

  • 對(duì)于 while 語句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時(shí)候我們需要即使不滿足條件,也至少執(zhí)行一次。
  • do…while 循環(huán)和 while 循環(huán)相似,不同的是,do…while 循環(huán)至少會(huì)執(zhí)行一次。
do {//代碼語句 }while(布爾表達(dá)式);

注意:布爾表達(dá)式在循環(huán)體的后面,所以語句塊在檢測(cè)布爾表達(dá)式之前已經(jīng)執(zhí)行了。 如果布爾表達(dá)式的值為 true,則語句塊一直執(zhí)行,直到布爾表達(dá)式的值為 false。

4.確定&通用循環(huán)

for

  • 雖然所有循環(huán)結(jié)構(gòu)都可以用 while 或者 do…while表示,但 Java 提供了另一種語句 —— for 循環(huán),使一些循環(huán)結(jié)構(gòu)變得更加簡(jiǎn)單。
  • for循環(huán)執(zhí)行的次數(shù)是在執(zhí)行前就確定的。
  • for 語句的第 1 部分通常用于對(duì)計(jì)數(shù)器初始化;第 2 部分給出每次新一輪循環(huán)執(zhí)行前要檢測(cè)的循環(huán)條件;第 3 部分指示如何更新計(jì)數(shù)器。
  • 語法格式如下:
for(初始化; 布爾表達(dá)式; 更新) {//代碼語句 }

關(guān)于 for 循環(huán)有以下幾點(diǎn)說明:

  • 最先執(zhí)行初始化步驟??梢月暶饕环N類型,但可初始化一個(gè)或多個(gè)循環(huán)控制變量,也可以是空語句。
  • 然后,檢測(cè)布爾表達(dá)式的值。如果為 true,循環(huán)體被執(zhí)行。如果為false,循環(huán)終止,開始執(zhí)行循環(huán)體后面的語句。
  • 執(zhí)行一次循環(huán)后,更新循環(huán)控制變量。
  • 再次檢測(cè)布爾表達(dá)式。循環(huán)執(zhí)行上面的過程。

    注意:
  • 當(dāng)在 for 語句的第 1 部分中聲明了一個(gè)變量之后,這個(gè)變量的作用域就為 for 循環(huán)的整個(gè)循環(huán)體。
  • 如果在 for 語句內(nèi)部定義一個(gè)變量, 這個(gè)變量就不能在循環(huán)體之外使用

foreach

  • Java5 引入了一種主要用于數(shù)組的增強(qiáng)型 for 循環(huán)。
  • Java 增強(qiáng) for 循環(huán)語法格式如下:
for(聲明語句 : 表達(dá)式) {//代碼句子 }
  • 聲明語句:聲明新的局部變量,該變量的類型必須和數(shù)組元素的類型匹配。其作用域限定在循環(huán)語句塊,其值與此時(shí)數(shù)組元素的值相等。
  • 表達(dá)式:表達(dá)式是要訪問的數(shù)組名,或者是返回值為數(shù)組的方法。

5.多重選擇—switch

  • switch case 語句判斷一個(gè)變量與一系列值中某個(gè)值是否相等,每個(gè)值稱為一個(gè)分支。
  • 一般語句格式:
switch(expression){case value ://語句break; //可選case value ://語句break; //可選//你可以有任意數(shù)量的case語句default : //可選//語句 }

switch case 語句有如下規(guī)則:

  • switch 語句中的變量類型可以是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支持字符串 String 類型了,同時(shí) case 標(biāo)簽必須為字符串常量或字面量。
  • switch 語句可以擁有多個(gè) case 語句。每個(gè) case 后面跟一個(gè)要比較的值和冒號(hào)。
  • case 語句中的值value的數(shù)據(jù)類型必須與變量expression的數(shù)據(jù)類型相同,而且只能是常量或者字面常量。
  • 當(dāng)變量的值與 case 語句的值相等時(shí),那么 case 語句之后的語句開始執(zhí)行,直到 break 語句出現(xiàn)才會(huì)跳出 switch 語句。
  • 當(dāng)遇到 break 語句時(shí),switch 語句終止。程序跳轉(zhuǎn)到 switch 語句后面的語句執(zhí)行。case 語句不必須要包含 break 語句。如果沒有 break 語句出現(xiàn),程序會(huì)繼續(xù)執(zhí)行下一條 case 語句,直到出現(xiàn) break 語句。
  • switch 語句可以包含一個(gè) default 分支,該分支一般是 switch 語句的最后一個(gè)分支(可以在任何位置,但建議在最后一個(gè))。default 在沒有 case 語句的值和變量值相等的時(shí)候執(zhí)行。default 分支不需要 break 語句。
  • switch case 執(zhí)行時(shí),一定會(huì)先進(jìn)行匹配,匹配成功返回當(dāng)前 case 的值,再根據(jù)是否有 break,判斷是否繼續(xù)輸出,或是跳出判斷。

  • 如果 case 語句塊中沒有 break 語句時(shí),JVM 并不會(huì)順序輸出每一個(gè) case 對(duì)應(yīng)的返回值,而是繼續(xù)匹配,匹配不成功則返回默認(rèn) case。
  • 如果 case 語句塊中沒有 break 語句時(shí),匹配成功后,從當(dāng)前 case 開始,后續(xù)所有 case 的值都會(huì)輸出。
  • 如果當(dāng)前匹配成功的 case 語句塊沒有 break 語句,則從當(dāng)前 case 開始,后續(xù)所有 case 的值都會(huì)輸出,如果后續(xù)的 case 語句塊有 break 語句則會(huì)跳出判斷。

6.中斷控制流程語句

不帶標(biāo)簽的break

  • break 主要用在循環(huán)語句或者 switch 語句中,用來跳出整個(gè)語句塊。
  • break 跳出最里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語句。

帶標(biāo)簽的break

  • Java 提供了一種帶標(biāo)簽的 break語句,用于跳出多重嵌套的循環(huán)語句。
  • 有時(shí)候,在嵌套很深的循環(huán)語句中會(huì)發(fā)生一些不可預(yù)料的事情。此時(shí)可能更加希望跳到嵌套的所有循環(huán)語句之外。通過添加一些額外的條件判斷實(shí)現(xiàn)各層循環(huán)的檢測(cè)很不方便。
  • 這里有一個(gè)示例說明了 break 語句的工作狀態(tài)。請(qǐng)注意,標(biāo)簽必須放在希望跳出的最外層循環(huán)之前, 并且必須緊跟一個(gè)冒號(hào)。

事實(shí)上,可以將標(biāo)簽應(yīng)用到任何語句中, 甚至可以應(yīng)用到 if語句或者塊語句中

continue

  • continue 適用于任何循環(huán)控制結(jié)構(gòu)中。作用是讓程序立刻跳轉(zhuǎn)到下一次循環(huán)的迭代。
  • 在 for 循環(huán)中,continue 語句使程序立即跳轉(zhuǎn)到更新語句。
  • 在 while 或者 do…while 循環(huán)中,程序立即跳轉(zhuǎn)到布爾表達(dá)式的判斷語句。
  • 簡(jiǎn)單點(diǎn)說,就是跳過本次循環(huán),執(zhí)行下一次循環(huán)

總結(jié)

以上是生活随笔為你收集整理的block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。