写程序时,总有些任务需要反复执行,比如处理一整页用户数据、遍历商品列表打折促销。如果靠手动一条条写,不仅累还容易出错。这时候就得靠循环结构控制语句,让代码自己动起来,高效完成重复工作。
常见的循环类型
在大多数编程语言中,常用的循环有 for 循环和 while 循环。for 循环适合已知执行次数的场景,比如打印 1 到 10 的数字:
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
while 循环则更适合条件驱动的情况,比如等待用户输入合法值才继续:
Scanner input = new Scanner(System.in);
String password = "";
while (!password.equals("secret")) {
System.out.print("请输入密码:");
password = input.nextLine();
}
中途跳出或跳过?控制更灵活
有时候不需要跑完整个循环。比如遍历订单时发现某个是异常单,想立刻停止处理,可以用 break:
for (String order : orderList) {
if (order.equals("异常订单")) {
break;
}
process(order);
}
但如果只是想跳过当前这一项,继续后面的处理,那就用 continue。比如统计成绩时忽略缺考的学生:
for (int score : scores) {
if (score == -1) { // -1 表示缺考
continue;
}
total += score;
count++;
}
嵌套循环:处理二维数据的好帮手
表格、矩阵这类数据经常要用到双重循环。外层控制行,内层控制列。比如打印一个 5×5 的乘法表:
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print(i * j + "\t");
}
System.out.println(); // 换行
}
不过要注意,嵌套太深会让程序变慢,特别是大数据量时,得权衡效率。
别让循环“卡住”
写 while 循环时最容易犯的错就是忘了更新条件变量,导致无限循环。比如下面这段代码就会一直卡着:
int num = 1;
while (num <= 10) {
System.out.println(num);
// 忘了写 num++,结果永远卡在 1
}
运行这种程序轻则卡界面,重则耗尽资源。调试时多留意循环变量是否正确递增或变化。
循环结构控制语句不是语法玩具,它是日常开发中最常用的工具之一。无论是读文件、处理列表还是做动画帧控制,背后都少不了它的身影。掌握好 break、continue 和各种循环写法,写起代码来才能又快又稳。