爲什麼需要循環?¶
在編程中,我們經常需要重複執行一段代碼。比如,要打印出1到100的數字,或者計算1到100的和,如果手動寫100次重複的代碼,會非常繁瑣且容易出錯。這時候,循環結構就能幫我們解決這個問題——它允許我們用簡短的代碼“重複執行某段操作”,而不用重複寫同樣的代碼。
什麼是 for 循環?¶
for 循環是Java中最基礎、最常用的循環結構之一,特別適合已知循環次數的場景(比如需要重複5次、10次等)。它的核心思想是通過三個關鍵部分控制循環的執行:初始化、條件判斷和迭代更新。
for 循環的語法結構¶
for 循環的基本語法如下:
for (初始化表達式; 條件判斷表達式; 迭代更新表達式) {
// 循環體:需要重複執行的代碼塊
}
我們把這三個部分拆解來看:
- 初始化表達式:通常是給一個循環變量賦初始值(比如
int i = 1),表示循環從哪裏開始。 - 條件判斷表達式:判斷循環是否繼續執行的條件(比如
i <= 100)。如果條件成立(結果爲true),就執行循環體;如果不成立(結果爲false),就退出循環。 - 迭代更新表達式:每次循環結束後,對循環變量進行更新(比如
i++,即i = i + 1),爲下一次條件判斷做準備。
第一個 for 循環示例:打印 1 到 5¶
讓我們用 for 循環打印出 1 到 5 的數字:
public class ForLoopDemo {
public static void main(String[] args) {
// 初始化:i從1開始
// 條件:i <= 5 時繼續循環
// 迭代:每次循環後i自增1
for (int i = 1; i <= 5; i++) {
System.out.println("當前數字:" + i);
}
}
}
執行過程:
- 第一次循環:i=1,條件 1 <= 5 成立,打印 當前數字:1,然後執行 i++(i 變爲 2)。
- 第二次循環:i=2,條件 2 <= 5 成立,打印 當前數字:2,然後 i 變爲 3。
- …直到 i=5 時,打印 當前數字:5,然後 i 變爲 6。此時條件 6 <= 5 不成立,循環結束。
輸出結果:
當前數字:1
當前數字:2
當前數字:3
當前數字:4
當前數字:5
for 循環的經典應用¶
1. 計算 1 到 100 的和¶
假設我們需要計算 1 + 2 + 3 + … + 100 的和,用 for 循環可以這樣實現:
public class SumExample {
public static void main(String[] args) {
int sum = 0; // 用於存儲總和
for (int i = 1; i <= 100; i++) {
sum = sum + i; // 每次循環把當前i加到sum中
}
System.out.println("1到100的和是:" + sum); // 結果爲5050
}
}
2. 求 5 的階乘(5! = 5×4×3×2×1)¶
階乘是另一個經典例子,用 for 循環實現:
public class FactorialExample {
public static void main(String[] args) {
int factorial = 1; // 階乘結果初始爲1
int n = 5; // 計算5的階乘
for (int i = 1; i <= n; i++) {
factorial = factorial * i; // 每次循環乘以i
}
System.out.println(n + "的階乘是:" + factorial); // 結果爲120
}
}
注意事項:避免“死循環”¶
循環的核心是“條件判斷”和“迭代更新”,如果這兩個部分出錯,可能會導致死循環(程序永遠無法結束)。最常見的錯誤有:
1. 條件判斷錯誤:比如把 i < 5 寫成 i <= 5(多了等於),或忘記寫迭代導致循環變量不更新(如 i = 1 且沒有 i++)。
2. 迭代表達式遺漏:如果迭代表達式沒寫(比如 for (int i = 1; i <= 5; )),循環變量 i 永遠是1,條件 i <= 5 永遠成立,程序會一直運行。
總結¶
for 循環是Java中處理重複操作的“利器”,通過 初始化、條件判斷、迭代更新 三個部分控制循環執行,核心是讓循環體重複運行。初學者要牢記:
- 明確循環次數:適合已知需要重複幾次的場景(如打印1到100)。
- 注意條件判斷和迭代表達式:確保循環能正常結束,避免死循環。
- 循環體是核心:每次循環都會執行大括號內的代碼,這部分是重複執行的關鍵。
掌握 for 循環後,你就能輕鬆處理“重複操作”的問題,爲後續學習更復雜的循環(如嵌套循環、增強for循環)打下基礎。