Java 中的循环结构非常强大,是控制程序执行流程的重要部分。让我们系统地讲解 Java 的三种基本循环结构,带你全面掌握它们的用法、区别和技巧!🚀
Java循环结构
1️⃣ for
循环
for
循环是 Java 中最常用的循环之一,特别适合已知循环次数的场景。
语法结构:
1 2 3
| for (初始化表达式; 循环条件; 更新表达式) { }
|
执行顺序:
- 初始化表达式:在循环开始前执行一次,只执行这一次。
- 循环条件:在每次循环前判断是否执行循环体。条件为
true
执行,为 false
停止。
- 循环体:条件为
true
时执行。
- 更新表达式:每次循环结束后执行,然后回到条件判断。
示例:打印 0 到 4 的数字
1 2 3 4 5 6 7
| public class ForLoopExample { public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println("当前数字: " + i); } } }
|
输出:
1 2 3 4 5
| 当前数字: 0 当前数字: 1 当前数字: 2 当前数字: 3 当前数字: 4
|
增强型 for
(for-each
循环)
专门用于遍历数组或集合。简洁直观,不需要下标操作。
1 2 3 4 5 6 7 8
| public class ForEachExample { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; for (int num : numbers) { System.out.println("数字: " + num); } } }
|
2️⃣ while
循环
while
循环适合不确定循环次数但需要满足条件才执行的场景。
语法结构:
执行顺序:
- 先判断条件,
true
则执行循环体,false
停止循环。
- 每次循环后,返回条件表达式继续判断。
示例:打印 0 到 4 的数字
1 2 3 4 5 6 7 8 9
| public class WhileLoopExample { public static void main(String[] args) { int i = 0; while (i < 5) { System.out.println("当前数字: " + i); i++; } } }
|
3️⃣ do-while
循环
do-while
循环与 while
类似,但至少会执行一次循环体。
语法结构:
执行顺序:
- 先执行一次循环体。
- 然后判断条件,
true
则继续执行,false
停止。
示例:至少执行一次的循环
1 2 3 4 5 6 7 8 9
| public class DoWhileExample { public static void main(String[] args) { int i = 10; do { System.out.println("当前数字: " + i); i++; } while (i < 5); } }
|
输出:
4️⃣ 控制循环的关键字
break
:提前结束循环
1 2 3 4 5 6 7
| for (int i = 0; i < 10; i++) { if (i == 5) { System.out.println("遇到 5,结束循环"); break; } System.out.println(i); }
|
输出:
continue
:跳过本次循环,继续下一次
1 2 3 4 5 6 7
| for (int i = 0; i < 5; i++) { if (i == 2) { System.out.println("跳过 2"); continue; } System.out.println(i); }
|
输出:
5️⃣ 循环嵌套
可以在一个循环中嵌套另一个循环,用于多维数据处理或复杂逻辑。
1 2 3 4 5 6 7 8 9
| public class NestedLoopExample { public static void main(String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.println("i=" + i + ", j=" + j); } } } }
|
输出:
1 2 3 4 5 6
| i=1, j=1 i=1, j=2 i=1, j=3 i=2, j=1 ... i=3, j=3
|
6️⃣ 小技巧 & 注意事项
for
循环更适合固定次数的循环。
while
和 do-while
更适合不确定次数但需要基于条件的循环。
- 别忘了在循环中更新变量,避免死循环!
- 增强型
for-each
循环更加简洁,推荐用于遍历数组和集合。
7️⃣ 练习题
🧠 问题 1:用 for
循环打印 1 到 100 的偶数。
1 2 3 4 5 6 7 8 9 10
| public class Print100 { public static void main(String[] args){ for(int i = 1;i<=100;i++){ if (i%2 == 0){ System.out.println(i); } } } }
|
1 2 3 4 5
| 2 4 ---------------- 98 100
|
🧠 问题 2:用 while
循环求 1 到 100 的和。
1 2 3 4 5 6 7 8 9 10 11
| public class sum100 { public static void main(String[] args){ int i = 0 ,sum = 0; while (i <= 100){ sum += i; i++; } System.out.println(sum); } }
|
🧠 问题 3:使用嵌套循环输出一个 5x5 的星号矩阵。
1 2 3 4 5 6 7 8 9 10 11
| public class PrintMartrix { public static void main(String[] args){ for (int i = 0;i<5;i++){ for (int k = 0;k<5;k++){ System.out.print("*"); } System.out.println(); } } }
|
1 2 3 4 5
| ***** ***** ***** ***** *****
|
有问题、练习答案、或者想更深入了解循环?欢迎来交流!🌱😊
来源: