學習 Java 編程語言:for 肯定循環語句

for 循環語句是支持迭代的一種通用結構,由一個計數器或相似的變量控制迭代次數,每次迭代後這個變量將會更新。java

下面的個例子將數字 1 ~ 10 輸出到屏幕上:ide

for (int i = 1; i <= 10; i++)
    System.out.println(i);

for 語句流程圖

for 語句的三部分:code

  • 第 1 部分一般是對計數器初始化。
  • 第 2 部分給出每次新一輪循環執行前要檢測的循環條件。
  • 第 3 部分指定如何更新計數器。

Java 容許在 for 循環的各個部分放置任何表達式,但有一條不成文的規則: for 語句的 3 個部分應該對同一個計數器變量進行初始化、檢測和更新。 若不遵照這一規則,編寫的循環經常晦澀難懂。blog

當在 for 語句的第 1 部分中聲明瞭一個變量以後,這個變量的做用域就擴展到這個 for 循環體的末尾。作用域

for (int i = 1; i <= 10; i++) {
    ...
}
// 變量 i 在這裏沒有定義

若是在 for 語句內部定義了一個變量,這個變量就不能在循環體以外使用。所以,若是但願在 for 循環體以外使用循環計數器的最終值,就要確保這個變量在循環以外聲明!it

int i;
for(i = 1; i <= 10; i++)
{
    ...
}
// 變量 i 仍然在這裏定義

能夠在不一樣的 for 循環中定義同名的變量:class

for (int i = 1; i < = 10; i++>) {
    ...
}
// 使用了相同的變量 i
for(int i = 11; i <= 20; i++>) {
    ...
}

for 循環語句只不過是 while 循環的一種簡化形式。例如:變量

for(int i = 10; i > 0; i--) }
    System.out.println("打印計數: " + i);
}

能夠重寫爲:擴展

int i = 10;
while(i > 0) {
    System.out.println("打印計數: " + i);
    i--;
}

在循環中,檢測兩個浮點數是否相等須要格外當心。下面的 for 循環
for (double x = 0; x != 10; x += 0.1) ...
可能永遠不會結束。因爲舍入的偏差,可能永遠達不到精確的最終值。例如,在上面的循環中,由於 0.1 沒法精確地用二進制表示,因此,x 將從 9.999 999 999 999 98 跳到 10.099 999 999 999 98。循環

相關文章
相關標籤/搜索