Java常用流程控制語句實現(xiàn)原理解析
一、判斷語句
最常用的順序結構只能順序執(zhí)行,并不能進行判斷和選擇。于是便有了下面兩種分支結構
- if語句
- switch語句
1. if語句
一個if語句包含一個布爾表達式和一條或多條語句。
1.1 判斷語句1——if
if語句的第一種格式
if(關系表達式){
語句體;
}
執(zhí)行流程
- 首先判斷關系表達式結果是true還是false
- 如果是true就執(zhí)行語句體
- 如果是false就不執(zhí)行語句體
1.2 判斷語句2——if...else
if語句的第二種格式:if...else
if(關系表達式) {
語句體1;
}else {
語句體2;
}
執(zhí)行流程
- 首先判斷關系表達式結果是true還是false
- 如果是true就執(zhí)行語句體1
- 如果是false就不執(zhí)行語句體 2
1.3 判斷語句3——if...else if...else
if語句的第三種格式:if...else if...else
if (判斷條件1) {
執(zhí)行語句1;
} else if (判斷條件2) {
執(zhí)行語句2;
}
...
}else if (判斷條件n) {
執(zhí)行語句n;
} else {
執(zhí)行語句n+1;
}
執(zhí)行流程
- 首先判斷關系表達式1結果是true還是false
- 如果是true就執(zhí)行語句體1
- 如果是false就繼續(xù)判斷關系表達式2看其結果是true還是false
- 如果是true就執(zhí)行語句體2
- 如果是false就繼續(xù)判斷關系表達3,看其結果是true還是false
- ......
- 如果沒有任何關系表達式為true,就執(zhí)行語句體n+1
注意:有多個if...else只執(zhí)行一個
二、選擇語句
1. 選擇語句——switch
Switch語句格式:
switch(表達式) {
case 常量值1:
語句體1;
break;
case 常量值2:
語句體2;
break;
...
default:
語句體n+1;
break;
}
執(zhí)行流程
- 首先計算出表達式的值
- 其次,和case依次比較,一旦有對應的值,就會執(zhí)行相應的語句,在執(zhí)行的過程中,遇到break結束
- 如果所有的case都和表達式的值不匹配,就會執(zhí)行default語句體部分,然后程序結束
注意事項:
- 多個case后面的數(shù)值不可以重復
- switch后面小括號當中只能說下列數(shù)據(jù)類型:
- 基本數(shù)據(jù)類型:bytr/short/char/int
- 引用數(shù)據(jù)類型:String字符串、eumn枚舉
- switch語句格式很靈活:
- 前后順序可以顛倒
- break語句可以省略
2. case的穿透性
在switch語句中,如果case的后面不寫break,將出現(xiàn)穿透現(xiàn)象。也就是不會繼續(xù)判斷下一個case的值,而是直接向后運行,直到遇到break,或者整體switch結束
由于case存在穿透性,因此我們在編寫switch語句時,必須注意要寫上break
三、循環(huán)結構
順序結構的程序語句只能被執(zhí)行一次。如果想要同樣的操作多次執(zhí)行,,就需要使用到循環(huán)結構。
常用的循環(huán)結構有三種:
- for循環(huán)
- while循環(huán)
- do…while循環(huán)
循環(huán)結構由如下四部分組成:
- 初始化語句:在循環(huán)最開始執(zhí)行,而且執(zhí)行一次
- 條件判斷:如果成立,則循環(huán)繼續(xù);否則退出循環(huán)
- 循環(huán)體:指的是重復要做的事情,由若干行語句組成
- 步進語句:每次循環(huán)之后都要進行的掃尾工作
1. for循環(huán)
for 循環(huán)語句是支持迭代的一種通用結構,利用每次迭代之后更新的計數(shù)器或類似的變量來控制迭代次數(shù)。for 循環(huán)語句是 while 循環(huán)的一種簡化形式,執(zhí)行的次數(shù)在執(zhí)行前就已經(jīng)確定。
語法格式如下:
for(初始化; 布爾表達式; 步進語句) {
循環(huán)體
}
2. while循環(huán)
循環(huán)語句標準格式
while (條件判斷){
循環(huán)體
}
循環(huán)語句擴展格式:
初始化表達式
while(布爾表達式){
循環(huán)體
步進語句
}
3. do…while循環(huán)
對于while語句而言,如果不滿足條件,則不能進入循環(huán)。但有時候我們需要不滿足條件,也至少執(zhí)行一次。do…while循環(huán)和while循環(huán)相似,不同的是,do…while循環(huán)至少會執(zhí)行一次。
do…while循環(huán)的標準格式:
do {
循環(huán)體
}while(條件判斷);
do…while循環(huán)的擴展格式:
初始化語句
do{
循環(huán)體
步進語句
}while(條件判斷);
4. 三種循環(huán)的區(qū)別
如果條件判斷沒有滿足過,那么for和while循環(huán)將會執(zhí)行0次,do...while循環(huán)會至少執(zhí)行一次
for循環(huán)的變量在小括號內定義,只有在循環(huán)內部才可以使用;while和do…while循環(huán)的初始化語句在外面,所以跳出循環(huán)后還可以繼續(xù)使用
在已知循環(huán)次數(shù)的時候使用推薦使用for,循環(huán)次數(shù)未知的時推薦使用while
5. 跳出語句
berak語句:主要用在循環(huán)語句或者switch語句中,用來跳出整個語句塊打斷這個循環(huán)。它能跳出最里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語句。
continue語句:適用于任何循環(huán)控制結構中。作用是結束本次循環(huán),繼續(xù)下一次的循環(huán) 。
- 在for循環(huán)中,continue語句使程序立即跳轉到步進語句
- 在while或者do…while循環(huán)中,程序立即跳轉到布爾表達式的判斷語句
6. 死循環(huán)
死循環(huán)就是循環(huán)的條件永遠為true,是永不結束的循環(huán) 。標準格式為:
while(true){
循環(huán)體
}
7. 嵌套循環(huán)
嵌套循環(huán)是指一個循環(huán)的循環(huán)體是另一個循環(huán)。如for循環(huán)里面還有一個for循環(huán),這就是嵌套循環(huán)??偣驳难h(huán)次數(shù)=外循環(huán)次數(shù)*內循環(huán)次數(shù)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java實現(xiàn)經(jīng)典游戲推箱子的示例代碼
《推箱子》推箱子是一個古老的游戲,目的是在訓練你的邏輯思考能力。本文將利用Java實現(xiàn)這一經(jīng)典的小游戲,并采用了swing技術進行了界面化處理,需要的可以參考一下2022-02-02
SpringBoot中的PropertySource原理詳解
這篇文章主要介紹了SpringBoot中的PropertySource原理詳解,PropertySource?是一個非常重要的概念,它允許您在應用程序中定義屬性,并將這些屬性注入到?Spring?環(huán)境中,需要的朋友可以參考下2023-07-07
淺析Spring?Cloud?Gateway中的令牌桶限流算法
這篇文章主要為大家淺析了Spring?Cloud?Gateway中的令牌桶限流算法原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02

