一、判斷語句
1.1 判斷語句1–if
- if 語句第一種格式: if
if(關係表達式){
語句體;
}
- 執行流程
- 首先判斷關係表達式看其結果是 true還是false
- 如果是 true就執行語句體
- 如果是 false就不執行語句體
1.2 判斷語句2–if…else
- if 語句第二種格式: if…else
if(關係表達式) {
語句體1;
}else {
語句體2;
}
-
執行流程
- 首先判斷關係表達式看其結果是 true還是false
- 如果是 true就執行語句體1
- 如果是 false就執行語句體2
2.3 判斷語句3–if…else if…else
- if 語句第三種格式: if…else if …else
if (判斷條件1) {
執行語句1;
} else if (判斷條件2) {
執行語句2;
}
...
}else if (判斷條件n) {
執行語句n;
} else {
執行語句n+1;
}
- 執行流程
- 首先判斷關係表達式 1看其結果是true還是false
- 如果是 true就執行語句體1
- 如果是 false就繼續判斷關係表達式2看其結果是true還是false
- 如果是 true就執行語句體2
- 如果是 false就繼續判斷關係表達式…看其結果是true還是false
- …
- 如果沒有任何關係表達式爲 true,就執行語句體n+1
二、選擇語句
2.1 選擇語句–switch
- switch 語句格式:
switch(表達式) {
case 常量值1:
語句體1;
break;
case 常量值2:
語句體2;
break;
...
default:
語句體n+1;
break;
}
- 執行流程
- 首先計算出表達式的值
- 其次,和 case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結
- 束。
- 最後,如果所有的 case都和表達式的值不匹配,就會執行default語句體部分,然後程序結束掉。
2.2 case 的穿透性
在switch語句中,如果case的後面不寫break,將出現穿透現象,也就是不會在判斷下一個case的值,直接向後運
行,直到遇到break,或者整體switch結束。
三、循環語句
3.1 循環概述
循環語句可以在滿足循環條件的情況下,反覆執行某一段代碼,這段被重複執行的代碼被稱爲循環體語句,當反覆
執行這個循環體時,需要在合適的時候把循環判斷條件修改爲false,從而結束循環,否則循環將一直執行下去,形成死循環。
3.2 循環語句1–for
- for 循環語句格式:
for(初始化表達式①; 布爾表達式②; 步進表達式④){
循環體③
}
- 執行流程
- 執行順序:①②③④ >②③④>②③④…②不滿足爲止。
- ①負責完成循環變量初始化
- ②負責判斷是否滿足循環條件,不滿足則跳出循環
- ③具體執行的語句
- ④循環後,循環條件所涉及變量的變化情況
3.3 循環語句2–while
- while 循環語句格式:
初始化表達式①
while(布爾表達式②){
循環體③
步進表達式④
}
- 執行流程
- 執行順序:①②③④ >②③④>②③④…②不滿足爲止。
- ①負責完成循環變量初始化。
- ②負責判斷是否滿足循環條件,不滿足則跳出循環。
- ③具體執行的語句。
- ④循環後,循環變量的變化情況。
3.4 循環語句3–do…while
- do…while 循環格式
初始化表達式①
do{
循環體③
步進表達式④
}while(布爾表達式②);
- 執行流程
- 執行順序:①③④ >②③④>②③④…②不滿足爲止。
- ①負責完成循環變量初始化。
- ②負責判斷是否滿足循環條件,不滿足則跳出循環。
- ③具體執行的語句
- ④循環後,循環變量的變化情況
3.5 循環語句的區別
-
for 和 while 的小區別:
- 控制條件語句所控制的那個變量,在 for循環結束後,就不能再被訪問到了,而while循環結束還可以繼
續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消
失,能夠提高內存的使用效率。- 在已知循環次數的時候使用推薦使用 for,循環次數未知的時推薦使用while。
3.6 跳出語句
break
-
使用場景:終止 switch或者循環
- 在選擇結構 switch語句中
- 在循環語句中
- 離開使用場景的存在是沒有意義的
四、 擴展知識點
4.1 死循環
-
死循環: 也就是循環中的條件永遠爲true,死循環的是永不結束的循環。例如:while(true){}。
在後期的開發中,會出現使用死循環的場景,例如:我們需要讀取用戶輸入的輸入,但是用戶輸入多少數據我們並不清楚,也只能使用死循環,當用戶不想輸入數據了,就可以結束循環了,如何去結束一個死循環呢,就需要使用到跳出語句了
4.2 嵌套循環
-
所謂嵌套循環 ,是指一個循環的循環體是另一個循環。比如for循環裏面還有一個for循環,就是嵌套循環。總
共的循環次數=外循環次數*內循環次數
-
嵌套循環格式
for(初始化表達式①; 循環條件②; 步進表達式⑦) {
for(初始化表達式③; 循環條件④; 步進表達式⑥) {
執行語句⑤;
}
}
- 嵌套循環執行流程:
- 執行順序:①②③④⑤⑥ >④⑤⑥>⑦②③④⑤⑥>④⑤⑥
- 外循環一次,內循環多次。
- 比如跳繩:一共跳 5組,每組跳10個。5組就是外循環,10個就是內循環。
- 練習 :使用嵌套循環,打印5*8的矩形
public static void main(String[] args) {
//5*8的矩形,打印5行*號,每行8個
//外循環5次,內循環8次
for(int i = 0; i < 5; i++){
for(int j = 0; j < 8; j++){
//不換行打印星號
System.out.print("*");
}
//內循環打印8個星號後,需要一次換行
System.out.println();
}
}
例題:九九乘法表
public class Test1 {
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+'\t');
}
System.out.println();
}
}
}