for 循環語句是支持迭代的一種通用結構,由一個計數器或相似的變量控制迭代次數,每次迭代後這個變量將會更新。java
下面的個例子將數字 1 ~ 10 輸出到屏幕上:ide
for (int i = 1; i <= 10; i++) System.out.println(i);
for 語句的三部分:code
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。循環