Java 流程控制:从条件判断到循环,一文搞定
Java 流程控制:从条件判断到循环,一文搞定
学习日期:2026-06-01 难度:⭐⭐ 入门级
一、为什么流程控制这么重要?
程序不只是从上到下依次执行,真正的力量在于根据条件做选择、根据需要做重复。流程控制就是给程序装上"大脑"和"双腿":
- 🧠 条件判断:让程序学会"如果…就…"
- 🦵 循环结构:让程序学会"重复做直到…"
二、条件判断
2.1 if 语句
最基础的判断,满足条件就执行:
java
9
1
2
3
4
5
int score = 85;
if (score >= 60) {
System.out.println("考试及格了!");
}
2.2 if-else 语句
二选一,非此即彼:
java
9
1
2
3
4
5
6
7
int score = 45;
if (score >= 60) {
System.out.println("及格了!");
} else {
System.out.println("没及格,继续加油!");
}
2.3 if-else if-else 语句
多条件分支,从上往下依次判断,命中一个就不再往下走:
java
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int score = 78;
if (score >= 90) {
System.out.println("优秀 A");
} else if (score >= 80) {
System.out.println("良好 B");
} else if (score >= 70) {
System.out.println("中等 C"); // ← 命中这里
} else if (score >= 60) {
System.out.println("及格 D");
} else {
System.out.println("不及格 F");
}
⚠️ 注意:else if 的顺序很重要!如果先判断
>= 60,那 78 也会被拦截,永远走不到后面的分支。
2.4 switch 语句
当判断的是一个具体值而非范围时,switch 更清晰:
java
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break; // ← 别忘了 break!
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三"); // ← 命中这里
break;
default:
System.out.println("其他");
break;
}
switch 的坑:case 穿透
如果漏写 break,程序会"穿透"到下一个 case 继续执行:
java
99
1
2
3
4
5
6
7
8
9
10
11
12
13
int num = 2;
switch (num) {
case 1:
System.out.println("一");
case 2:
System.out.println("二"); // 命中
case 3:
System.out.println("三"); // 穿透!也会执行
default:
System.out.println("其他"); // 穿透!也会执行
}
// 输出:二 → 三 → 其他
💡 Java 14+ 引入了 switch 表达式,用
->箭头语法自动避免穿透,更安全更简洁。
三、循环结构
3.1 for 循环
最常用的循环,适合"知道循环次数"的场景:
java
9
1
2
3
4
5
// 经典:打印 1 到 5
for (int i = 1; i <= 5; i++) {
System.out.println("第 " + i + " 次");
}
执行顺序(新手必背):
plaintext
9
1
2
初始化 → 条件判断 → 循环体 → 更新 → 条件判断 → 循环体 → ... → 条件不满足 → 退出
for-each(增强 for 循环) ,遍历集合/数组更简洁:
java
9
1
2
3
4
5
int[] nums = {10, 20, 30};
for (int n : nums) {
System.out.println(n); // 10, 20, 30
}
3.2 while 循环
适合"不知道循环几次,满足条件就继续"的场景:
java
9
1
2
3
4
5
6
7
8
// 猜数字:直到猜对才停
int target = 7;
int guess = 0;
while (guess != target) {
guess++; // 模拟不断尝试
}
System.out.println("猜对了!");
3.3 do-while 循环
先执行一次,再判断条件——至少跑一轮:
java
9
1
2
3
4
5
6
7
8
int input;
do {
System.out.println("请输入正数:");
// input = scanner.nextInt(); // 模拟用户输入
input = 5; // 假设这次输入了 5
} while (input <= 0);
// 即使 input 一开始就是 5,也会先执行一次循环体
📋 三种循环怎么选?
表格
循环 适用场景 至少执行几次 for 已知次数 0 while 未知次数,先判断 0 do-while 未知次数,先跑一轮 1
四、流程控制关键字
4.1 break —— 立刻跳出
用于终止当前循环或跳出 switch:
java
9
1
2
3
4
5
6
7
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // i=5 时直接跳出循环
}
System.out.println(i); // 只输出 0,1,2,3,4
}
4.2 continue —— 跳过本轮
跳过本次循环,直接进入下一轮:
java
9
1
2
3
4
5
6
7
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 跳过 i=2
}
System.out.println(i); // 输出 0,1,3,4
}
4.3 return —— 方法级别退出
直接结束整个方法,不止跳出循环:
java
99
1
2
3
4
5
6
7
8
9
10
public static void findTarget(int[] arr, int target) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == target) {
System.out.println("找到了,下标:" + i);
return; // 找到即返回,整个方法结束
}
}
System.out.println("没找到");
}
五、实战练习
练习1:打印九九乘法表
java
9
1
2
3
4
5
6
7
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.printf("%d×%d=%-4d", j, i, i * j);
}
System.out.println();
}
练习2:判断质数
java
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int num = 17;
boolean isPrime = true;
if (num < 2) {
isPrime = false;
} else {
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
}
System.out.println(num + " 是质数吗?" + isPrime);
六、总结速查表
表格
| 结构 | 语法关键词 | 核心用途 |
|---|---|---|
| 条件判断 | if / else if / else / switch | 根据条件选择执行路径 |
| 定次循环 | for / for-each | 已知次数的重复 |
| 条件循环 | while / do-while | 未知次数的重复 |
| 跳出控制 | break / continue / return | 中断或跳过循环 |
Java 流程控制是编程的基础骨架,掌握好它,后面的数组、方法、面向对象都会轻松很多。加油!💪
更多推荐
所有评论(0)