java-循環語句

在java裏面的循環語句大體分爲四種:for循環、while循環、do...while循環和加強for循環。下面進行一一講解。java

for循環,for循環是java代碼中最爲常見的循環形式,其語法格式爲:數組

for(表達式1;表達式2;表達式3){框架

  循環的代碼塊;spa

}code

表達式1:通常做爲變量的初始化,定義變量,並賦初始化值。對象

表達式2:做爲判斷語句(條件語句)blog

表達式3:在循環的代碼塊運行結束以後,再運行的代碼,通常做爲改變變量的值。for循環

for循環中的執行順序:表達式1-->表達式2--> 循環的代碼塊-->表達式3class

for循環的流程圖:變量

事例代碼1:

1 public void method_1(){
2   //使用for循環,在控制檯輸出1到100的數
3   for(int i = 1;i <= 100;i++){
4     //在控制檯輸出i,i即便從1一直到100
5     System.out.println(i);
6   }
7 }

上面的代碼,一開始i的值爲1,每次執行完,i自增1,根據判斷條件,直到i大於100,才中止,沒有中止以前,i一直增長並輸出。

 

while循環:

定義變量並初始化值;

while(表達式1){

  循環的代碼塊;

  表達式2(改變變量的值)

}

注意:1)在使用while循環以前,必定要定義變量並初始化值,不然, 會報錯。這個變量是在while的條件判斷。

2)在循環體裏面,也就是while循環的大括號裏面,在循環的代碼塊後面必定要記得寫改變變量的值,不然會出現死循環。

while循環的流程圖:

事例代碼2:

1 public void method_2(){
2   //定義一個變量,並初始化值;
3   int i = 1;
4   //使用while循環代碼。輸出1到100
5   while(i <= 100){
6     System.out.println(i);
7     i++;
8   }  
9 }

以上是while循環的代碼,注意的是第3行代碼和第7行代碼,雖然不屬於while循環的語法結構,可是若是少了,會報錯或者死循環。

 

do..while循環:

do...while循環也是一個循環,和while類似,但又有區別,先看do...while循環的語法:

定義變量並初始化值;

do{

  循環的代碼塊;

  改變變量的值;

}while(表達式)

注意:1)在寫do...while循環以前,必定要定義變量並初始化值,這個變量用於while裏面的判斷。

2)在do的大括號裏面,除了循環的代碼塊,須要在後面加上改變變量的值。

do...while循環的流程圖:

事例代碼3:

1 public void method_3(){
2   //定義一個變量,並初始化值;
3   int i = 1;
4   //使用do...while循環,輸出1到100
5   do{
6      System.out.println(i);
7      i++;
8   }while(i <= 100)
9 }

上面的代碼注意的是第3行和第7行,若是少了會出現報錯或者死循環。

 

對於while循環和do...while循環,語法結構都很是的類似,下面說一下while循環和do...while循環的區別:

從語法和流程圖能夠看出,while是先判斷,只有當表達式結果正確的狀況下,纔會執行循環的內容,而do...while循環是先執行循環的內容,再進行判斷,這這樣,當一開始條件就不知足的狀況下,do...while至少會執行一次循環的代碼,而while循環則一次都不運行。

 

加強for循環:這種循環適用於對象才能使用,好比數組,集合框架等。

語法:for(數據類型  從對象中取出的元素 :對象名){

  

}

事例代碼4:

1 public void method_4(){
2   //定義一個數組,數據類型爲int 
3   int[] num = {1,2,3,4,5,6,7,8};
4   //使用加強for循環,遍歷出num數組中的全部元素。
5   for(int i : num){
6     //for循環中的i值,表示的是數組中的元素,而不是下標,這個必定要注意
7     System.out.println(i);
8   }
9 }

 

跳出循環的兩種方式:

break:跳出整個循環,當在循環的代碼中,若是讀取到了代碼break;則結束整個循環。

continue:跳出本次循環,繼續下一次循環,在循環的代碼中,若是讀取到了continue代碼,則跳出本次循環,也就是循環體中的continue代碼如下的全部代碼將再也不執行,而是從頭開始下一次的循環。

這二者的最大區別在於:break是再也不執行循環代碼,跳出的是整個循環,而continue依然在循環體系中執行,只是本次的代碼 再也不執行而已。

事例代碼5:循環輸出從1到10,當遇到了5以後,則結束循環,使用break;

 1 public void method_5(){
 2   //使用for循環,從1到10輸出  
 3   for(int i = 1;i <= 10;i++){
 4       //若是遇到了5,則結束循環:
 5       if(i % 5 == 0){
 6           break;
 7       }
 8       System.out.println(i);
 9   }
10 }        

以上代碼:由於遇到5,則執行break;,結束整個循環,則最終控制檯輸出的爲:1,2,3,4

事例代碼6:循環輸出從1到10,當遇到5以後,則跳出本次循環,使用continue

 1 public void method_6(){
 2   //使用for循環,從1到10輸出
 3   for(int i = 1;i <= 10;i++){
 4      //判斷,若是i等於5的時候,則執行continue代碼
 5      if(i % 5 == 0){
 6        continue;
 7      }
 8      System.out.println(i);
 9   }
10 }

以上代碼:由於遇到5,則執行continue;跳出當次循環,繼續下一次的循環,則最終控制檯輸出的爲:1,2,3,4,6,7,8,9,10

相關文章
相關標籤/搜索