Java 循環(huán)結(jié)構(gòu) - for, while 及 do…while

2022-01-25 12:01 更新

順序結(jié)構(gòu)的程序語(yǔ)句只能被執(zhí)行一次。如果您想要同樣的操作執(zhí)行多次,,就需要使用循環(huán)結(jié)構(gòu)。

Java中有三種主要的循環(huán)結(jié)構(gòu):

  • while循環(huán)
  • do…while循環(huán)
  • for循環(huán)

在Java5中引入了一種主要用于數(shù)組的增強(qiáng)型for循環(huán)。


while循環(huán)

while是最基本的循環(huán),它的結(jié)構(gòu)為:

while( 布爾表達(dá)式 ) {
	//循環(huán)內(nèi)容
}

只要布爾表達(dá)式為true,循環(huán)體會(huì)一直執(zhí)行下去。

實(shí)例

public class Test {
   public static void main(String args[]) {
      int x = 10;
      while( x < 20 ) {
          System.out.print("value of x : " + x );
          x++;
          System.out.print("\n");
      }
   } 
} 

以上實(shí)例編譯運(yùn)行結(jié)果如下:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

do…while循環(huán)

對(duì)于while語(yǔ)句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時(shí)候我們需要即使不滿足條件,也至少執(zhí)行一次。

do…while循環(huán)和while循環(huán)相似,不同的是,do…while循環(huán)至少會(huì)執(zhí)行一次。

do {
       //代碼語(yǔ)句
}while(布爾表達(dá)式);

注意:布爾表達(dá)式在循環(huán)體的后面,所以語(yǔ)句塊在檢測(cè)布爾表達(dá)式之前已經(jīng)執(zhí)行了。 如果布爾表達(dá)式的值為true,則語(yǔ)句塊一直執(zhí)行,直到布爾表達(dá)式的值為false。

實(shí)例

public class Test {

   public static void main(String args[]){
      int x = 10;

      do{
         System.out.print("value of x : " + x );
         x++;
         System.out.print("\n");
      }while( x < 20 );    } } 

以上實(shí)例編譯運(yùn)行結(jié)果如下:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

for循環(huán)

雖然所有循環(huán)結(jié)構(gòu)都可以用while或者do...while表示,但Java提供了另一種語(yǔ)句 —— for循環(huán),使一些循環(huán)結(jié)構(gòu)變得更加簡(jiǎn)單。

for循環(huán)執(zhí)行的次數(shù)是在執(zhí)行前就確定的。語(yǔ)法格式如下:

for(初始化; 布爾表達(dá)式; 更新) {
    //代碼語(yǔ)句
}

關(guān)于for循環(huán)有以下幾點(diǎn)說(shuō)明:

  • 最先執(zhí)行初始化步驟??梢月暶饕环N類型,但可初始化一個(gè)或多個(gè)循環(huán)控制變量,也可以是空語(yǔ)句。
  • 然后,檢測(cè)布爾表達(dá)式的值。如果為true,循環(huán)體被執(zhí)行。如果為false,循環(huán)終止,開(kāi)始執(zhí)行循環(huán)體后面的語(yǔ)句。
  • 執(zhí)行一次循環(huán)后,更新循環(huán)控制變量。
  • 再次檢測(cè)布爾表達(dá)式。循環(huán)執(zhí)行上面的過(guò)程。

實(shí)例

public class Test {
   public static void main(String args[]) {
      for(int x = 10; x < 20; x = x+1) {
          System.out.print("value of x : " + x );
          System.out.print("\n");
      }
   } 
} 

以上實(shí)例編譯運(yùn)行結(jié)果如下:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

Java增強(qiáng)for循環(huán)

Java5引入了一種主要用于數(shù)組的增強(qiáng)型for循環(huán)。

Java增強(qiáng)for循環(huán)語(yǔ)法格式如下:

for(聲明語(yǔ)句 : 表達(dá)式)
{
   //代碼句子
}

聲明語(yǔ)句:聲明新的局部變量,該變量的類型必須和數(shù)組元素的類型匹配。其作用域限定在循環(huán)語(yǔ)句塊,其值與此時(shí)數(shù)組元素的值相等。

表達(dá)式:表達(dá)式是要訪問(wèn)的數(shù)組名,或者是返回值為數(shù)組的方法。

實(shí)例

public class Test {

   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

以上實(shí)例編譯運(yùn)行結(jié)果如下:

10,20,30,40,50,
James,Larry,Tom,Lacy,

break關(guān)鍵字

break主要用在循環(huán)語(yǔ)句或者switch語(yǔ)句中,用來(lái)跳出整個(gè)語(yǔ)句塊。

break跳出最里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語(yǔ)句。

語(yǔ)法

break的用法很簡(jiǎn)單,就是循環(huán)結(jié)構(gòu)中的一條語(yǔ)句:

break;

實(shí)例

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      break;
         }
         System.out.print( x );
         System.out.print("\n");
      }
   }
}

以上實(shí)例編譯運(yùn)行結(jié)果如下:

10
20

continue關(guān)鍵字

continue適用于任何循環(huán)控制結(jié)構(gòu)中。作用是讓程序立刻跳轉(zhuǎn)到下一次循環(huán)的迭代。

在for循環(huán)中,continue語(yǔ)句使程序立即跳轉(zhuǎn)到更新語(yǔ)句。

在while或者do…while循環(huán)中,程序立即跳轉(zhuǎn)到布爾表達(dá)式的判斷語(yǔ)句。

語(yǔ)法

continue就是循環(huán)體中一條簡(jiǎn)單的語(yǔ)句:

continue;

實(shí)例

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      continue;
         }
         System.out.print( x );
         System.out.print("\n");
      }
   }
}

以上實(shí)例編譯運(yùn)行結(jié)果如下:

10
20
40
50


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)