Java流程控制语句

流程控制语句

Java 中的流程控制语句用于控制程序的执行流程,根据条件或循环来决定代码的执行方式。
Java 提供了几种常用的流程控制语句,包括条件语句循环语句

1、条件语句:

  • if 语句:用于根据条件执行不同的代码块。
  • if-else 语句:在条件为真时执行一个代码块,否则执行另一个代码块。
  • if-else if-else 语句:在多个条件之间进行选择,根据不同的条件执行不同的代码块。
  • switch 语句:根据表达式的值选择不同的分支执行代码块。

2、循环语句:

  • for 循环:用于重复执行一段代码,可以指定循环的初始值、条件和每次迭代的操作。
  • foreach 循环:用于遍历数组或集合中的元素,简化了遍历的过程。
  • while 循环:在满足条件的情况下重复执行一段代码,条件在循环体之前判断。
  • do-while 循环:在满足条件的情况下重复执行一段代码,条件在循环体之后判断,至少会执行一次循环体。

3、跳转语句:

  • break 语句:用于终止循环或 switch 语句的执行,并跳出当前代码块。

  • continue 语句:用于终止本次循环的执行,并继续下一次循环的迭代。

  • return 语句:用于退出当前方法的执行,并返回到调用方法的地方。

    要跳出多重循环(即在内层循环中跳出外层循环),可以使用标签(label)和 break 语句的结合来实现。

实现样例

1、 条件语句

1.1、 单个条件语句

语法:

if (condition) {
    // 当条件为真时执行的代码块
}

如果条件 condition 为真,则执行代码块中的语句;否则跳过该代码块。

1.2、 带有 else 的条件语句

语法:

if (condition) {
    // 当条件为真时执行的代码块
} else {
    // 当条件为假时执行的代码块
}

如果条件 condition 为真,则执行第一个代码块;否则执行 else 代码块。

1.3、 多个条件语句

语法:

if (condition1) {
    // 当条件1为真时执行的代码块
} else if (condition2) {
    // 当条件2为真时执行的代码块
} else {
    // 当条件1和条件2都为假时执行的代码块
}

根据条件的顺序依次判断,执行第一个为真的条件对应的代码块;如果所有条件都为假,则执行 else 代码块。

注意:每个条件语句只会执行与其匹配的第一个代码块,即使后续的条件也满足。条件表达式的结果必须是一个布尔值(true 或 false)。

1.4、switch语句

switch用于根据表达式的值选择不同的执行路径。
语法:

switch (表达式) {
    case 值1:
        // 当表达式的值等于值1时执行的代码
        break;
    case 值2:
        // 当表达式的值等于值2时执行的代码
        break;
    case 值3:
        // 当表达式的值等于值3时执行的代码
        break;
    // 可以有更多的 case 分支
    default:
        // 当表达式的值与所有的 case 值都不匹配时执行的代码
        break;
}

switch 语句中的表达式可以是整数类型(byte、short、int 或 char)及其包装类型(Byte、Short、Integer、Character)、枚举类型或字符串类型(从 Java 7 开始支持)。

case 分支用于指定当表达式的值与某个值相等时要执行的代码块。每个 case 分支后面必须使用 break 语句来跳出 switch 语句,否则程序将会继续执行后续的 case 分支代码。如果没有匹配的 case 分支,可以使用 default 分支来执行默认的代码块。

需要注意的是,switch 语句只能对某个表达式的值进行匹配,而不能用于范围判断或布尔表达式。每个 case 分支中的值必须是常量或字面量,而不能是变量或表达式。

2、循环语句

2.1、 for循环

语法:

for (initialization; condition; update) {
    // 循环体代码
}

在上述语法中,initialization 是循环的初始条件,用于初始化循环控制变量;condition 是循环的条件,只有当条件为 true 时,循环才会执行;update 是循环控制变量的更新操作,它会在每次循环迭代完成后执行。

执行过程如下:
①执行 initialization 初始化循环控制变量。
②检查 condition 的值,如果为 true,执行循环体内的代码;如果为 false,跳过循环体,继续执行下一条语句。
③执行循环体内的代码。
④执行 update 更新循环控制变量。
⑤回到第 2 步,继续判断条件,重复执行上述步骤。

例子:

for (int i = 1; i <= 5; i++) {
    System.out.println(i);
}

2.2、foreach循环

foreach 循环,也称为增强型 for 循环,是 Java 中用于遍历数组或集合的一种循环控制语句。它提供了一种简化的语法,可以更方便地遍历集合中的元素,无需手动管理循环索引。

语法:

for (elementDataType elementVariable : collection) {
    // 循环体代码
}

在上述语法中,elementDataType 是集合元素的数据类型,elementVariable 是每次循环迭代时用于表示当前元素的变量名,collection 是要遍历的数组或集合。

执行过程如下:
①依次取出集合中的每个元素,并将其赋值给 elementVariable。
②执行循环体内的代码。
③回到第 1 步,继续取出下一个元素,重复执行上述步骤。
④当集合中的所有元素都被遍历完毕后,循环终止。

需要注意的是,foreach 循环只能用于遍历数组和实现了 Iterable 接口的集合类(如 List、Set 等),不能用于遍历其他类型的数据结构。

例子:

int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
    System.out.println(num);
}

在上述示例中,numbers 是一个整型数组,foreach 循环遍历了数组中的每个元素,并将其赋值给 num 变量,然后在循环体中打印出每个元素的值。

2.3、while循环

语法:

while (condition) {
    // 循环体代码
}

在上述语法中,condition 是一个布尔表达式,用于判断循环是否继续执行。只有当 condition 的值为 true 时,循环体中的代码块才会被执行。当 condition 的值为 false 时,循环终止,程序继续执行循环之后的代码。

condition 可以是任何返回布尔值的表达式,例如比较表达式、逻辑运算表达式等。

需要注意的是,在使用 while 循环时,要确保循环条件最终能够为 false,以避免进入无限循环的情况

例子:

int i = 1;
while (i <= 5) {
    System.out.println(i);
    i++;
}

在上述示例中,循环体中的代码会打印出数字 1 到 5。循环的条件是 i <= 5,只有当 i 的值小于等于 5 时,循环会一直执行。每次循环迭代完成后,i 的值会递增一次,直到 i 的值大于 5,循环终止。

2.4、do-while循环

与 while 语句不同的是,do-while 语句先执行一次循环体,然后再检查循环条件。如果循环条件为真,则继续执行循环,否则循环终止。
语法:

do {
    // 循环体代码
} while (condition);

在上述语法中,condition 是一个布尔表达式,用于判断循环是否继续执行。当 condition 的值为 true 时,循环会继续执行;当 condition 的值为 false 时,循环终止。

需要注意的是,无论循环条件是否满足,do-while 循环至少会执行一次循环体。因此,do-while 循环适用于那些需要至少执行一次的情况。

与 while 循环类似,使用 do-while 循环时,同样要确保循环条件最终能够为 false,以避免进入无限循环的情况。

例子:

int i = 1;
do {
    System.out.println(i);
    i++;
} while (i <= 5);

在上述示例中,循环体中的代码会打印出数字 1 到 5。首先,循环体会被执行一次,然后在每次循环迭代完成后,会检查 i 的值是否小于等于 5。只有当 i 的值满足条件时,循环会继续执行;否则循环终止。

3、跳转语句

标签(label)和 break 语句结合跳出多重循环

例子:

outerLoop:
for (int i = 1; i <= 3; i++) {
    System.out.println("Outer loop: " + i);
    innerLoop:
    for (int j = 1; j <= 3; j++) {
        System.out.println("Inner loop: " + j);
        if (i == 2 && j == 2) {
            break outerLoop;  // 在满足条件时跳出外层循环
        }
    }
}

在上述代码中,我们使用了 outerLoop 标签来标记外层循环,然后在内层循环中通过 break outerLoop; 语句来跳出外层循环。当 i 等于 2 且 j 等于 2 时,跳出外层循环,程序将不再执行后续的循环迭代。

你可能感兴趣的:(JAVA,java,流程控制语句,if语句,for循环语句,while循环语句)