block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label)
生活随笔
收集整理的這篇文章主要介紹了
block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1.塊作用域---block
- 2.條件語句---if/else
- 3.循 環
- while
- do-while
- 4.確定&通用循環
- for
- foreach
- 5.多重選擇---switch
- 6.中斷控制流程語句
- 不帶標簽的break
- 帶標簽的break
- continue
本文已同步到:https://www.bithachi.cn/posts/5093c0c3.html
1.塊作用域—block
- 塊(即復合語句)是指由一對大括號括起來的若干條簡單的 Java 語句。塊確定了變量的作用域。一個塊可以嵌套在另一個塊中,塊內可以寫很多語句,。
- 不能在嵌套的兩個塊中聲明同名的變量。
- 例如,下面的代碼就有錯誤,而無法通過編譯
2.條件語句—if/else
- 在 Java 中,條件語句的格式為:
if (condition) statement - 條件必須用括號括起來
- 在 Java 中, 更一般的條件語句格式如下所示
if (condition) statement1 else statement2 - 其中 else 部分是可選的。else 子句與最鄰近的 if 構成一組
3.循 環
while
- 當條件為 true 時,while 循環執行一條語句(也可以是一個語句塊)。一般格式為:
while { condition ) statement - 如果開始循環條件的值就為 false, 則 while 循環體一次也不執行
do-while
- 對于 while 語句而言,如果不滿足條件,則不能進入循環。但有時候我們需要即使不滿足條件,也至少執行一次。
- do…while 循環和 while 循環相似,不同的是,do…while 循環至少會執行一次。
注意:布爾表達式在循環體的后面,所以語句塊在檢測布爾表達式之前已經執行了。 如果布爾表達式的值為 true,則語句塊一直執行,直到布爾表達式的值為 false。
4.確定&通用循環
for
- 雖然所有循環結構都可以用 while 或者 do…while表示,但 Java 提供了另一種語句 —— for 循環,使一些循環結構變得更加簡單。
- for循環執行的次數是在執行前就確定的。
- for 語句的第 1 部分通常用于對計數器初始化;第 2 部分給出每次新一輪循環執行前要檢測的循環條件;第 3 部分指示如何更新計數器。
- 語法格式如下:
關于 for 循環有以下幾點說明:
- 最先執行初始化步驟。可以聲明一種類型,但可初始化一個或多個循環控制變量,也可以是空語句。
- 然后,檢測布爾表達式的值。如果為 true,循環體被執行。如果為false,循環終止,開始執行循環體后面的語句。
- 執行一次循環后,更新循環控制變量。
- 再次檢測布爾表達式。循環執行上面的過程。
注意: - 當在 for 語句的第 1 部分中聲明了一個變量之后,這個變量的作用域就為 for 循環的整個循環體。
- 如果在 for 語句內部定義一個變量, 這個變量就不能在循環體之外使用
foreach
- Java5 引入了一種主要用于數組的增強型 for 循環。
- Java 增強 for 循環語法格式如下:
- 聲明語句:聲明新的局部變量,該變量的類型必須和數組元素的類型匹配。其作用域限定在循環語句塊,其值與此時數組元素的值相等。
- 表達式:表達式是要訪問的數組名,或者是返回值為數組的方法。
5.多重選擇—switch
- switch case 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。
- 一般語句格式:
switch case 語句有如下規則:
- switch 語句中的變量類型可以是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支持字符串 String 類型了,同時 case 標簽必須為字符串常量或字面量。
- switch 語句可以擁有多個 case 語句。每個 case 后面跟一個要比較的值和冒號。
- case 語句中的值value的數據類型必須與變量expression的數據類型相同,而且只能是常量或者字面常量。
- 當變量的值與 case 語句的值相等時,那么 case 語句之后的語句開始執行,直到 break 語句出現才會跳出 switch 語句。
- 當遇到 break 語句時,switch 語句終止。程序跳轉到 switch 語句后面的語句執行。case 語句不必須要包含 break 語句。如果沒有 break 語句出現,程序會繼續執行下一條 case 語句,直到出現 break 語句。
- switch 語句可以包含一個 default 分支,該分支一般是 switch 語句的最后一個分支(可以在任何位置,但建議在最后一個)。default 在沒有 case 語句的值和變量值相等的時候執行。default 分支不需要 break 語句。
- switch case 執行時,一定會先進行匹配,匹配成功返回當前 case 的值,再根據是否有 break,判斷是否繼續輸出,或是跳出判斷。
- 如果 case 語句塊中沒有 break 語句時,JVM 并不會順序輸出每一個 case 對應的返回值,而是繼續匹配,匹配不成功則返回默認 case。
- 如果 case 語句塊中沒有 break 語句時,匹配成功后,從當前 case 開始,后續所有 case 的值都會輸出。
- 如果當前匹配成功的 case 語句塊沒有 break 語句,則從當前 case 開始,后續所有 case 的值都會輸出,如果后續的 case 語句塊有 break 語句則會跳出判斷。
6.中斷控制流程語句
不帶標簽的break
- break 主要用在循環語句或者 switch 語句中,用來跳出整個語句塊。
- break 跳出最里層的循環,并且繼續執行該循環下面的語句。
帶標簽的break
- Java 提供了一種帶標簽的 break語句,用于跳出多重嵌套的循環語句。
- 有時候,在嵌套很深的循環語句中會發生一些不可預料的事情。此時可能更加希望跳到嵌套的所有循環語句之外。通過添加一些額外的條件判斷實現各層循環的檢測很不方便。
- 這里有一個示例說明了 break 語句的工作狀態。請注意,標簽必須放在希望跳出的最外層循環之前, 并且必須緊跟一個冒號。
事實上,可以將標簽應用到任何語句中, 甚至可以應用到 if語句或者塊語句中
continue
- continue 適用于任何循環控制結構中。作用是讓程序立刻跳轉到下一次循環的迭代。
- 在 for 循環中,continue 語句使程序立即跳轉到更新語句。
- 在 while 或者 do…while 循環中,程序立即跳轉到布爾表達式的判斷語句。
- 簡單點說,就是跳過本次循環,執行下一次循環
總結
以上是生活随笔為你收集整理的block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5.2 计算机网络之传输层UDP协议
- 下一篇: IDEA配置java《算法》第四版环境(