1 流程控制語句
(1)順序結構 從上往下,依次執行
(2)選擇結構 根據條件的不同,執行不同的代碼
(3)循環結構 根據條件,循環執行代碼
2 if語句
(1)三種格式
A:格式1
if(表達式) {
語句體;
}
表達式的值是:true 執行代碼塊
fasle不執行代碼塊
B:格式2
if(表達式) {
代碼塊1;
}else {
代碼塊2;
}
執行流程:
判斷表達式的值,
true,就執行代碼塊1
false,就執行代碼塊2
C:格式3
if(表達式1) {
代碼塊1;
}else if(表達式2){
語句體2;
}
...
else {
語句體n+1;
}
執行流程:
判斷表達式1的值,
如果是true,就執行代碼塊1
如果是false,就繼續判斷表達式2的值,
如果是true,就執行代碼塊2
如果是false,就繼續判斷表達式3的值
...
如果都不滿足,就執行代碼塊n+1
D:注意:無論表達式簡單複雜,結果都是boolean類型
大括號的內容是一條可以省略,但是建議不要省略
C:三目運算符和if
因爲三元運算符是運算符,必須要返回結果 ,不能輸出語句。
if語句可以判斷之後做複雜的處理
2 switch語句(掌握)
(1)格式:
switch(表達式) {
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
...
default:
語句體n+1;
break;
}
格式解釋說明:
switch:說明這是switch語句。
表達式:可以是byte,short,int,char
JDK5以後可以是枚舉
JDK7以後可以是字符串
case:後面的值是常量,是要和表達式進行比較的值,
break:表示程序到這裏中斷,跳出switch語句
default:所有的情況都不匹配,會執行,相當於if語句中的else
(2)注意事項:
A:case後面只能是常量,不能是變量,case的值不能相同
B:default可以省略嗎?
可以省略,但是不建議,他可以處理不滿足條件的情況。
C:break可以省略嗎?
可以省略,結果可能不是我們想要的。
省略的現象:case穿透。
不建議省略
D:default一定要在最後嗎?
不是,可以在任意位置。但是建議在最後。
(3)案例:
A:鍵盤錄入一個數字(1-7),輸出對應的星期幾。
B:輸出月份對應的季節
(4)if語句和switch語句各自的場景
A:if
根據條件的結果(boolean)判斷,執行的代碼
B:switch
根據條件裏的值(byte,short,int,char,...)
和case 的值匹配(等值判斷).
3循環語句for,while,do…while
(2)for循環語句
A:格式
for(初始化語句;判斷條件語句;控制條件語句){
循環體語句;
}
執行流程:
a:執行初始化語句
b:執行判斷條件語句
如果這裏是true,就繼續
如果這裏是false,循環就結束
c:執行循環體語句
d:執行控制條件語句
e:回到b
B:注意事項
a:判斷條件語句無論簡單還是複雜,結果是boolean類型
(3)while循環
A:基本格式
while(判斷條件語句) {
循環體語句;
}
擴展格式:
初始化語句; //int i = 0;
while(判斷條件語句){ //i<10
循環體語句;
控制條件語句; //i++;
}
(4)do...while循環
A:基本格式
do {
循環體語句;
}while(判斷條件語句);
B:三種循環的區別
a:do...while循環至少執行一次循環體
b:for和while必須先判斷條件是否是true,然後後才能決定是否執行循環體