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 流程控制是编程的基础骨架,掌握好它,后面的数组、方法、面向对象都会轻松很多。加油!💪

更多推荐