程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java的for循環語句

java的for循環語句

編輯:關於JAVA

for循環在第一次反復之前要進行初始化。隨後,它會進行條件測試,而且在每一次反復的時候,進行某種形式的“步進”(Stepping)。for循環的形式如下:

for(初始表達式; 布爾表達式; 步進)
語句

無論初始表達式,布爾表達式,還是步進,都可以置空。每次反復前,都要測試一下布爾表達式。若獲得的結果是false,就會繼續執行緊跟在for語句後面的那行代碼。在每次循環的末尾,會計算一次步進。
for循環通常用於執行“計數”任務:

 

//: ListCharacters.java
// Demonstrates "for" loop by listing
// all the ASCII characters.

public class ListCharacters {
  public static void main(String[] args) {
  for( char c = 0; c < 128; c++)
    if (c != 26 )  // ANSI Clear screen
      System.out.println(
        "value: " + (int)c +
        " character: " + c);
  }
} ///:~


注意變量c是在需要用到它的時候定義的——在for循環的控制表達式內部,而非在由起始花括號標記的代碼塊的最開頭。c的作用域是由for控制的表達式。
以於象C這樣傳統的程序化語言,要求所有變量都在一個塊的開頭定義。所以在編譯器創建一個塊的時候,它可以為那些變量分配空間。而在Java和C++中,則可在整個塊的范圍內分散變量聲明,在真正需要的地方才加以定義。這樣便可形成更自然的編碼風格,也更易理解。
可在for語句裡定義多個變量,但它們必須具有同樣的類型:

 

for(int i = 0, j = 1;
    i < 10 && j != 11;
    i++, j++)
 /* body of for loop */;


其中,for語句內的int定義同時覆蓋了i和j。只有for循環才具備在控制表達式裡定義變量的能力。對於其他任何條件或循環語句,都不可采用這種方法。

1. 逗號運算符
早在第1章,我們已提到了逗號運算符——注意不是逗號分隔符;後者用於分隔函數的不同自變量。Java裡唯一用到逗號運算符的地方就是for循環的控制表達式。在控制表達式的初始化和步進控制部分,我們可使用一系列由逗號分隔的語句。而且那些語句均會獨立執行。前面的例子已運用了這種能力,下面則是另一個例子:

 

//: CommaOperator.java

public class CommaOperator {
  public static void main(String[] args) {
    for(int i = 1, j = i + 10; i < 5;
        i++, j = i * 2) {
      System.out.println("i= " + i + " j= " + j);
    }
  }
} ///:~


輸出如下:

 

i= 1 j= 11
i= 2 j= 4
i= 3 j= 6
i= 4 j= 8


大家可以看到,無論在初始化還是在步進部分,語句都是順序執行的。此外,盡管初始化部分可設置任意數量的定義,但都屬於同一類型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved