天天看點

java自我學習第四章:流程控制語句流程控制語句

流程控制語句

内容

  • for循環語句
  • while循環語句
  • do...while循環語句
  • break
  • continu

循環語句:for循環

循環語句可以在滿足循環條件的情況下,反複執行某一段代碼,這段被重複執行的代碼被稱為循環體語句,當反複執行這個循環體時,需要通過修改循環變量使得循環判斷條件為false,進而結束循環,否則循環将一直執行下去,形成死循環。

for循環語句格式:

for(初始化語句①; 循環條件語句②; 疊代語句④){

    循環體語句③

}

for(;;){

    循環體語句塊;//如果循環體中沒有跳出循環體的語句,那麼就是死循環

}

注意:

(1)for(;;)中的兩個;是不能多也不能少

(2)循環條件必須是boolean類型

(3)如果循環條件語句②省略的話,就預設為循環條件成立

執行流程:
  • 第一步:執行初始化語句①,完成循環變量的初始化;
  • 第二步:執行循環條件語句②,看循環條件語句的值是true,還是false;
    • 如果是true,執行第三步;
    • 如果是false,循環語句中止,循環不再執行。
  • 第三步:執行循環體語句③
  • 第四步:執行疊代語句④,針對循環變量重新指派
  • 第五步:根據循環變量的新值,重新從第二步開始再執行一遍

文法示範案例:求出1-5之間資料之和

/*
 * 練習:求出1-5之間資料之和
 * 
 * 分析:
 * 		1.定義求和變量,初始化值是0
 * 		2.擷取1-5之間的資料,用for循環實作
 * 		3.把每一次擷取到的資料,累加起來就可以了
 * 		4.輸出求和變量即可
 */
public class ForTest02 {
	public static void main(String[] args) {
		//定義求和變量,初始化值是0
		int sum = 0;
		
		//擷取1-5之間的資料,用for循環實作
		for(int x=1; x<=5; x++) {
			//把每一次擷取到的資料,累加起來就可以了
			//sum = sum + x;
			/*
			 * 第一次:sum = 0 + 1 = 1
			 * 第二次:sum = 1 + 2 = 3
			 * 第三次:sum = 3 + 3 = 6
			 * 第四次:sum = 6 + 4 = 10
			 * 第五次:sum = 10 + 5 = 15
			 */
			sum += x;
		}
		
		//輸出求和結果
		System.out.println("sum:" + sum);
	}
}
           

循環結構:while循環

while循環語句标準格式:

while (循環條件語句①) {

    循環體語句②;

}

while(true){

     循環體語句;//如果此時循環體中沒有跳出循環的語句,也是死循環

}

注意:

white(循環條件)中循環條件必須是boolean類型

執行流程:
    第一步:執行循環條件①,看循環條件語句的值是true,還是false;
          如果是true,執行第二步。
          如果是false,循環語句中止循環不再執行。
    第二步:執行循環體語句②;
    第三步:循環體語句執行完後,重新從第一步開始再執行一遍。
           

while循環語句擴充格式:

初始化語句①;

while (循環條件語句②) {

    循環體語句③;

    疊代語句④;

}

執行流程:

  • 第一步:執行初始化語句①,完成循環變量的初始化;
  • 第二步:執行循環條件語句②,看循環條件語句的值是true,還是false;
    • 如果是true,執行第三步;
    • 如果是false,循環語句中止,循環不再執行。
  • 第三步:執行循環體語句③
  • 第四步:執行疊代語句④,針對循環變量重新指派
  • 第五步:根據循環變量的新值,重新從第二步開始再執行一遍

文法示範案例:周遊1-100之間的偶數

int num = 2;
while(num<=100){
    System.out.println(num);
    num+=2;
}
           

循環結構:do...while循環

do...while循環語句标準格式:

do {

    循環體語句①;

} while (循環條件語句②);

注意:

(1)while(循環條件)中循環條件必須是boolean類型

(2)do{}while();最後有一個分号

(3)do...while結構的循環體語句是至少會執行一次,這個和for和while是不一樣的

執行流程:
  • 第一步:執行循環體語句①;
  • 第二步:執行循環條件語句②,看循環條件語句的值是true,還是false;
    • 如果是true,執行第三步;
    • 如果是false,循環語句終止,循環不再執行。
  • 第三步:循環條件語句執行完後,重新從第一步開始再執行一遍

do...while循環語句擴充格式:

初始化語句①

do {

    循環體語句②;

    疊代語句③;

} while (循環條件語句④);

執行流程:
  • 第一步:執行初始化語句①,完成循環變量的初始化;
  • 第二步:執行循環體語句②;
  • 第三步:執行疊代語句③,針對循環變量重新指派;
  • 第四步:執行循環條件語句④,看循環條件語句的值是true,還是false;
    • 如果是true,根據循環變量的新值,重新從第二步開始再執行一遍;
    • 如果是false,循環語句中止,循環不再執行。

循環語句的差別

  • 從循環次數角度分析
    • do...while循環至少執行一次循環體語句
    • for和while循環先循環條件語句是否成立,然後決定是否執行循環體,至少執行零次循環體語句
  • 從循環變量的生命周期角度分析
    • for循環的循環變量在for()中聲明的,在循環語句結束後,不可以被通路;
    • while和do...while循環的循環變量因為在外面聲明的,是以while和do...while結束後可以被繼續使用的;
  • 如何選擇
    • 周遊有明顯的循環次數(範圍)的需求,選擇for循環
    • 周遊沒有明顯的循環次數(範圍)的需求,循環while循環
    • 如果循環體語句塊至少執行一次,可以考慮使用do...while循環
    • 本質上:三種循環之間是可以互相轉換的,都能實作循環的功能
  • 三種循環結構都具有四要素:
    • (1)循環變量的初始化表達式
    • (2)循環條件
    • (3)循環變量的修改的疊代表達式
    • (4)循環體語句塊

控制語句

break

  • 使用場景:終止switch或者目前循環
    • 在選擇結構switch語句中
    • 在循環語句中
    • 離開使用場景的存在是沒有意義的

continue

  • 使用場景:結束本次循環,繼續下一次的循環

嵌套循環

  • 所謂嵌套循環,是指一個循環的循環體是另一個循環。比如for循環裡面還有一個for循環,就是嵌套循環。總共的循環次數=外循環次數*内循環次數。當然可以是三種循環任意互相嵌套。
  • 嵌套循環格式:

for(初始化語句①; 循環條件語句②; 疊代語句⑦) {

    for(初始化語句③; 循環條件語句④; 疊代語句⑥) {

          循環體語句⑤;

    }

}

文法案例示範

public static void main(String[] args){
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
           

:列印5行直角三角形