1. 程式人生 > >Java學習筆記八:Java的流程控制語句之循環語句

Java學習筆記八:Java的流程控制語句之循環語句

AI 介紹 可見 while 兩個 流程控制 邏輯運算 ava 表示

Java的流程控制語句之循環語句

一:Java循環語句之 while;

  生活中,有些時候為了完成任務,需要重復的進行某些動作。如參加 10000 米長跑,需要繞 400 米的賽道反復的跑 25 圈。在 Java 中實現功能時,也經常需要重復執行某些代碼,例如,我們為了表示“濃烈的愛”,希望輸出 1000 行“我愛你!”。顯然,此時重復敲 1000 遍輸出語句是不明智的,循環語句便是明智之舉/

  Java 常用的 3 種循環: while 、 do...while 、 for

語法:

技術分享圖片

執行過程:

< 1 >、 判斷 while 後面的條件是否成立( true / false )

< 2 >、 當條件成立時,執行循環內的操作代碼 ,然後重復執行< 1 >、< 2 >, 直到循環條件不成立為止

特點:先判斷,後執行

如:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
    	
    int i = 1;
    while(i<=1000){
    	System.out.println("我愛你!");
    	i++;
    }
   
   }
}

運行結果為:

技術分享圖片

二:Java循環語句之 do...while;

  do...while 循環與 while 循環語法有些類似,但執行過程差別比較大。

語法:

技術分享圖片

執行過程:

<1>、 先執行一遍循環操作,然後判斷循環條件是否成立

<2>、 如果條件成立,繼續執行< 1 > 、< 2 >,直到循環條件不成立為止

特點: 先執行,後判斷

由此可見,do...while 語句保證循環至少被執行一次!

例如,依然輸出 1000 遍“我愛你”,使用 do...while 的實現代碼為:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
    	
    int i = 1;
    do{
    	System.out.println("我愛你!");
    	i++;
    }
    while(i<=1000);
   
   }
}

運行結果為:

技術分享圖片

三:Java循環語句之 for;

  Java 的循環結構中除了 while 和 do...while 外,還有 for 循環,三種循環可以相互替換。

語法:

技術分享圖片

執行過程:

  1. 執行循環變量初始化部分,設置循環的初始狀態,此部分在整個循環中只執行一次
  2. 進行循環條件的判斷,如果條件為 true ,則執行循環體內代碼;如果為 false ,則直接退出循環
  3. 執行循環變量變化部分,改變循環變量的值,以便進行下一次條件判斷
  4. 依次重新執行2.3.4,直到退出循環

特點:相比 while 和 do...while 語句結構更加簡潔易讀

例如,輸出 1000 遍“我愛你!”,使用 for 的實現代碼為:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
   
    for(int i=1;i<=1000;i++){
	   System.out.println("我愛你!");
   }
   
   }
}

運行結果為:

技術分享圖片

註:

1、 for 關鍵字後面括號中的三個表達式必須用 “;” 隔開,三個表達式都可以省略,但 “;” 不能省略。

a. 省略“循環變量初始化”,可以在 for 語句之前由賦值語句進行變量初始化操作,如:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
   
    int i=0;//循環語句之前對變量初始化
    for(;i<=1000;i++){
	   System.out.println("我愛你!");
   }
   
   }
}

b. 省略“循環條件”,可能會造成循環將一直執行下去,也就是我們常說的“死循環”現象,如:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
   
    for(int i=0;;i++){
	   System.out.println("我愛你!");
   }
   
   }
}

在編程過程中要避免“死循環”的出現,因此,對於上面的代碼可以在循環體中使用 break 強制跳出循環(關於 break 的用法會在後面介紹)。

c. 省略“循環變量變化”,可以在循環體中進行循環變量的變化,如:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
   
    for(int i=0;i<=1000;){
	   System.out.println("我愛你!");
           i++;
   }
   
   }
}

2、 for 循環變量初始化和循環變量變化部分,可以是使用 “,” 同時初始化或改變多個循環變量的值,如:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
   
    for(int i=1,j=5;i<=5;i++,j--){
	   System.out.println(i+"+"+j+"="+(i+j));
   }
   
   }
}

代碼中,初始化變量部分同時對兩個變量 i 和 j 賦初值,循環變量變化部分也同時對兩個變量進行變化,運行結果:

技術分享圖片

3、 循環條件部分可以使用邏輯運算符組合的表達式,表示復雜判斷條件,但一定註意運算的優先級,如:

技術分享圖片

代碼如下:

public class HelloWorld {
    public static void main(String []args) {
   
    for(int i=1;i<10&&i!=5;i++){
	   System.out.println(i);
   }
   
   }
}

代碼中,必須同時滿足變量 i 小於 10 ,並且 i 不等於 5 時才會進行循環,輸出變量 i 的值。

運行結果為:

技術分享圖片

四:Java 循環語句之多重循環;

  循環體中包含循環語句的結構稱為多重循環。三種循環語句可以自身嵌套,也可以相互嵌套,最常見的就是二重循環。在二重循環中,外層循環每執行一次,內層循環要執行一圈。

如下所示:

技術分享圖片

例如:使用 * 打印長方形:

代碼如下:

public class HelloWorld {
	public static void main(String args[]){
		
		//外層循環控制打印的行數
		for(int a=0;a<4;a++){
			//內層循環控制每行打印的*號數
			for(int b=0;b<8;b++){
				System.out.print("*");
		}
			//每行打印完畢換行
			System.out.println();
		} 
	}
	
}

運行結果為:

技術分享圖片

  執行流程:當 i = 1 時,外層循環條件成立,進入內層循環,開始打印第一行內容。此時, j 從 1 開始,循環 8 次,內層循環結束後換行,實現第一行 8 個 * 的輸出。接下來返回外層循環 i 變為 2 ,準備打印下一行,依此類推,直到完成長方形的打印。

Java學習筆記八:Java的流程控制語句之循環語句