循环是什么?
循环就是让一段代码重复执行,直到满足某个条件才停止。
不用循环,你要输出10次"hello"得写10行代码。用循环,3行搞定。
Java中有三种循环
for:知道循环次数时用while:不知道次数,先判断再执行do-while:不知道次数,先执行一次再判断
1. for循环
1.1 语法
for (初始化; 条件; 更新) { // 循环体:每次要重复执行的代码 }1.2 执行顺序
初始化:只执行一次,定义循环变量
条件判断:true 进入循环体,false 结束循环
执行循环体
更新:改变循环变量
回到第2步
1.3 示例
// 输出 0 到 4 初始化; 条件; 更新 ⬆️ ⬆️ ⬆️ for (int i = 0; i < 5; i++) { System.out.println(i); } // 输出:0 1 2 3 42. while循环
2.1 语法
while (条件) { // 条件为true就重复执行 }2.2 特点:先判断,再执行。 条件一开始就是 false,循环体一次都不执行
2.3 示例
int i = 0; while (i < 5) { System.out.println(i); i++; } // 输出:0 1 2 3 43. do-while循环
3.1 语法
do { // 循环体 } while (条件);3.2 特点:先执行一次,再判断。不管条件如何,循环体至少执行一次。
3.3 示例
int i = 0; do { System.out.println(i); i++; } while (i < 0); // 条件一开始就是false,但依然输出:04. 三种循环对比
循环 | 特点 | 适用场景 |
| 初始化、条件、更新写在一起 | 知道循环次数 |
| 先判断后执行,可能一次都不执行 | 不知道次数,先判断 |
| 先执行后判断,至少执行一次 | 不知道次数,但至少做一次 |
5. 两个关键字:break和continue
break:直接结束整个循环
for (int i = 0; i < 10; i++) { if (i == 5) { break; // i=5时直接跳出,循环结束 } System.out.println(i); } // 输出:0 1 2 3 4continue:跳过本次,继续下一次
for (int i = 0; i < 5; i++) { if (i == 2) { continue; // i=2时跳过,不输出2 } System.out.println(i); } // 输出:0 1 3 46. 死循环
条件永远为 true,循环永远不会停。
//三个部分都可以省略,但分号不能省 // for 死循环 for (;;) { System.out.println("停不下来"); } // while 死循环 while (true) { System.out.println("停不下来"); }写死循环时必须配合break使用,否则程序会卡死。
7. 循环嵌套
循环里面套循环。外层执行一次,内层完整执行一轮。
for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { System.out.println("i=" + i + ", j=" + j); } } // 输出: // i=0, j=0 // i=0, j=1 // i=1, j=0 // i=1, j=1 // i=2, j=0 // i=2, j=1