流程控制語句:
流程:完成一件事情的順序
流程控制語句:用來控制程序的執行順序
分類:
1.順序結構
2.選擇結構
3.循環結構
順序結構:
從上至下的順序,按照主函數中的代碼順序執行。
選擇結構:
讓代碼選擇性的執行
包含兩種:if語句和switch語句
1.if語句的第一種格式:
計算一個布爾表達式的值
如果ture 執行語句體
如果false,沒有然後(跳到結束)
格式:
if(布爾表達式){
語句體
}
例子:是男的,打印進男廁所
2.if語句的第二種格式:
計算一個布爾表達式的值
如果ture 執行語句體1
如果false,執行語句體2
格式:
if(布爾表達式){
語句體1
}else{
語句體2
}
例子,是男的打印進男廁所,否則進女廁所
3.if語句的第三種格式:
計算一個布爾表達式/條件判斷 第一種格式第二種格式的特點
有多個布爾表達式/條件判斷
哪個成立就執行對應的語句體就跳到結束位置
都不成立執行默認的語句體
格式:
if(布爾表達式1){
執行語句體1
}else if (布爾表達式2){
執行語句體2
}else if (布爾表達式3){
執行語句體3
}...
else{
執行默認語句體
}
4.if語句的第二種格式和三元運算符:
if-else 語句體都是對同一個變量進行賦值時,三元運算符相對簡單些
例如:比較兩個數的大小,大的賦值給第三個數。三元運算符只需要一行語句
5.switch語句:
當我們計算,一個表達式的值,跟一堆的不相同的常量進行比較
匹配上就執行對應的語句體
都不匹配,執行默認的語句體
格式:
// 表達式的結果只能是byte/short/char/int/String
switch(表達式){
case 常量1:
執行語句體1
break;
case 常量2
執行語句體2
break;
case 常量3
執行語句體3
break;
....
default:
執行默認語句體
break;
}
匹配上哪一個分支 ,就執行它的語句體,跳到結束位置。
6.switch語句的穿透性:
如果你省略了標準格式中的break,就會發生穿透性
直接執行分支的語句體,不作匹配,直到結束
當多個分支需要執行相同的語句體時,使用穿透性可以簡化代碼
如果某一個匹配的值沒有寫break語句,那麼他的下一個匹配項不會做匹配直接執行,知道遇到先一個帶有break的匹配項執行完再跳轉到switch語句結尾,或者此匹配項是最後一個,執行完直接結束
循環結構:
讓相同的代碼被重複執行,指定重複的次數
包含三個 語句:for、while、do-while
1.for語句:
格式
for( ①初始化語句; ②循環條件; ④步進表達式 ){
//被重複執行的代碼 -③循環體
}
執行流程:先執行初始化語句(循環過程中只執行一次)---->判斷是否滿足循環條件(滿足)---->執行循環體語句--->執行步
進表達式---->接着判斷是否滿足循環條件(滿足)---->循環體------>執行步進表達式......
循環流程就是①②③④->②③④->②③④->②③④->②③④->。。。當②值爲false(也就是不滿足循環條件時),跳到結束位置
2.while語句:
格式
①初始化語句
while(②循環條件){
④循環體
③步進語句
}
執行流程:先執行初始化語句(循環過程中只執行一次)---->判斷是否滿足循環條件(滿足)---->執行循環體語句--->執行步
進表達式---->接着判斷是否滿足循環條件(滿足)---->循環體------>執行步進表達式......
循環流程就是①②③④->②③④->②③④->②③④->②③④->。。。當②值爲false(也就是不滿足循環條件時),跳到結束位置
3.do-while語句:
格式
①初始化語句
do{
③循環體
④步進
}while(②循環條件);(這裏有分號)
執行流程:先執行初始化語句--->執行循環體---->執行步進語句--->判斷循環條件.....直到條件不滿足退出
三種循環總結:
for最常用 計數器有明確的範圍1-100
while比較常用 IO流
do-while不是很常用 必須執行一次循環體
區別:
1,do--while 無論循環條件是否滿足至少執行一遍
2,除了for其他循環的計數器,在循環結束時還能使用
break 語句
1,在switch語句中使用,跳到結束位置
2,在三種循環中也可以使用,立刻馬上,跳到循環的結束位置
格式
break;
continue語句
只能在循環中使用
立刻馬上跳過本次循環,可以繼續下一次
格式:continue;
死循環
不能自己結束的循環,就是死循環
常見的幾種形式
1,for
2.while
3.do-while
死循環的出現情況:
1。程序員寫循環沒有步進
2。程序設計的需要
3。死循環可以退出 寫上一個條件,裏面寫上一個break;
嵌套循環
一個循環(外層循環)裏面可以包含另一個循環(內層循環)
例子
for( ... ){
for(...){
}
}
當發現幾個循環代碼相同時,我們可以用嵌套循環來簡化代碼(如打印長方形)
嵌套號可以用在if語句當中