Skip to content

流程控制

复合语句

概念:用 {} 包裹的多行代码,形成一个独立的作用域。变量在块内声明时,仅在该块内有效。

用途:控制变量作用域,增强代码逻辑的局部性。

示例:

java
{ // 复合语句开始
    int x = 10;
    System.out.println(x); // 输出 10
} // 复合语句结束
// System.out.println(x); // 错误!x 超出作用域

条件语句

if 条件语句

简单 if 语句

语法:

java
if (条件1) {
    // 条件1为 true 时执行
} else if (条件2) {
    // 条件2为 true 时执行
} else {
    // 其他情况执行
}

25020801.png

图 if 条件语句执行过程

25020802.png

图 if...else 语句执行过程

25020803.png

图 if...else if 多分支语句执行过程

示例:

java
int score = 85;
if (score >= 90) {
    System.out.println("A");
} else if (score >= 80) {
    System.out.println("B"); // 输出 B
} else {
    System.out.println("C");
}

注意:条件必须是布尔表达式(true/false)。

switch 条件语句

语法(支持 Java 14+ 箭头语法):

java
switch (表达式) {
    case 值1 -> System.out.println("匹配值1");
    case 值2 -> {
        // 多行代码用 {}
        System.out.println("匹配值2");
    }
    default -> System.out.println("默认分支");
}

25020804.png

图 switch 语句执行过程

注意:

  • 支持类型:int, char, String, enum 等。
    java
    // case 表达式的值不能为实数,例如下方的代码是不合法的
    switch (score) {
        case 85.0:
            System.out.println("85 分");
            break;
    }
  • Java 14+ 支持 yield 返回值(需用 case -> 语法)。
  • 同一个 switch 语句,case 值不能重复。

示例:

java
String day = "MON";
switch (day) {
    case "MON":
        System.out.println("周一");
        break; // 防止穿透
    case "TUE":
        System.out.println("周二");
        break;
    default:
        System.out.println("其他");
}

循环语句

while 循环语句

语法:

java
while (条件) {
    // 条件为 true 时重复执行
}

25020805.png

图 while 循环语句执行过程

示例:

java
int i = 0;
while (i < 3) {
    System.out.println(i); // 输出 0, 1, 2
    i++;
}

do-while 循环语句

语法:

java
do {
    // 先执行一次,再检查条件
} while (条件);

25020806.png

图 do-while 循环语句执行过程

示例:

java
int j = 0;
do {
    System.out.println(j); // 至少输出 0
    j++;
} while (j < 0); // 条件为 false

for 循环语句

语法:

java
for (初始化; 条件; 迭代) {
    // 循环体
}

25020807.png

图 for 循环语句执行过程

示例(遍历数组):

java
int[] arr = {1, 2, 3};
for (int k = 0; k < arr.length; k++) {
    System.out.println(arr[k]); // 输出 1, 2, 3
}

在实际编码中,有可能会使用到 for 循环的特殊语法格式来实现无限循环:

java
for (;;) {
    // 无限循环
}

对于这种无限循环,可以使用 break 语句来跳出循环:

java
for (;;) {
    if (x < 20) {
        break; // 跳出循环
        x++;
    }
}

增强 for 循环(遍历集合/数组):

java
for (int num : arr) {
    System.out.println(num); // 输出 1, 2, 3
}

循环控制

break 语句

作用:立即退出当前循环或 switch。

25020808.png

图 break 关键字使用形式

注意:在嵌套循环中,break 语句只能跳出当前循环。

java
for (int m = 0; m < 3; m++) {
    for (int n = 0; n < 3; n++) {
        if (m == 1 && n == 1) break; // 跳出内层循环
    }
}

示例(带标签跳出多层循环):

java
outerLoop:
for (int x = 0; x < 3; x++) {
    for (int y = 0; y < 3; y++) {
        if (x == 1 && y == 1) break outerLoop; // 直接跳出外层循环
    }
}

continue 语句

作用:跳过当前循环的剩余代码,进入下一次迭代。

25020809.png

图 continue 关键字使用形式

示例(跳过偶数):

java
for (int n = 0; n < 5; n++) {
    if (n % 2 == 0) continue;
    System.out.println(n); // 输出 1, 3
}
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!