1. 程式人生 > >JAVA總結(流程控制2--迴圈結構)

JAVA總結(流程控制2--迴圈結構)

流程控制--迴圈結構


1、while迴圈

結構:while(布林表示式){ 迴圈內容 }

例:

public static void main(String[] args){    
    int i = 1;
    while(i<=10){
    i++;
    System.out.println("i的值為:"+i);
    }
    }

結果輸出:

i的值為:2
i的值為:3
i的值為:4
i的值為:5
i的值為:6
i的值為:7
i的值為:8
i的值為:9
i的值為:10
i的值為:11

2、do...while迴圈

結構:do{

//要迴圈的語句

}while(布林表示式);

注意:對於while語句,布林表示式為false就不執行迴圈語句,但do...while迴圈語句,即使不滿足條件也會執行一次。(至少會執行一次)。當while()內的布林表示式為false時迴圈語句會再執行一次結束迴圈;

例:

public static void main(String[] args){    
    int i = 1;
    do{
    i++;
    System.out.println("i的值為:"+i);
    }while(i<5);
    }

結果輸出:

i的值為:2
i的值為:3
i的值為:4
i的值為:5

3、for迴圈

結構:for(初始化 ; 布林表示式 ;更新){

//迴圈語句

}

注意:

最先執行初始化,可以宣告一種型別,可以初始化一個或多個迴圈控制變數,也可以是空語句。

檢測布林表示式,為true執行迴圈語句,false不執行。

迴圈一次後,迴圈控制變數更新。

例:

public static void main(String[] args){    
    for(int j=0,i=0; j<5;j++){
    i=j;
    System.out.println("i的值為:"+i);
    }
    }

結果輸出:

i的值為:0
i的值為:1
i的值為:2
i的值為:3
i的值為:4

4、foreach迴圈

結構:for(宣告語句:表示式){

 //迴圈語句

}

注意:

宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配。其作用域限定在迴圈語句塊,其值與此時陣列元素的值相等。

表示式:表示式是要訪問的陣列名,或者是返回值為陣列的方法。

例:

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

結構輸出:

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

注意:

 break語句的作用

1、只能在迴圈體內和switch語句體內使用break語句。

2、當break出現在迴圈體中的switch語句體內時,其作用只是跳出該switch語句體。

3、當break出現在迴圈體中,但並不在switch語句體內時,則在執行break後,跳出本層迴圈體。

4、在迴圈結構中,應用break語句使流程跳出本層迴圈體,從而提前結束本層迴圈。

   continue語句作用

1、continue語句一般形式為:contonue;

2、其作用是結束本次迴圈,即跳過本次迴圈體中餘下尚未執行的語句,接著再一次進行迴圈的條件判定。

3、注意:執行continue語句並沒有使整個迴圈終止。在while和do-while迴圈中,continue語句使得流程直接跳到迴圈控制條件的測試部分,然後決定是否繼續進行。

4、在for迴圈中,遇到continue後,跳過迴圈體中餘下的語句,而去對for語句中的“表示式3”求值,然後進行“表示式2”的條件測試,最後根據“表示式2”的值來決定for迴圈是否執行。迴圈體內,不論continue是作為何種語言的語句成分,都按上述功能執行,這點與bresk有所不同。

標籤:

例:

public static void main(String args[]){
     int i = 2;
     a: switch(i){
     case 1:
     System.out.println(i);
    case 2:
     System.out.println(i);
     break a;
     }
  }

結果輸出:2