Java第三天(流程控制語句)

一、判斷語句

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();
		}
   }
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章