Java流程控制08:continue、break、goto

本节内容视频链接:https://www.bilibili.com/video/BV12J41137hu?p=43&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5icon-default.png?t=N7T8https://www.bilibili.com/video/BV12J41137hu?p=43&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5

java中break和continue的作用和区别

在Java中,‌breakcontinue都是用于控制循环结构的流程关键字,‌但它们的作用和用途有所不同。‌

1.‌break的作用‌:‌

  • break用于立即退出循环,‌无论循环条件是否仍然满足。‌
  • 它可以用在任何类型的循环中,‌包括for循环、‌while循环和do-while循环。‌
  • 当执行到break语句时,‌循环会立即结束,‌并继续执行循环之后的代码。‌

2.‌continue的作用‌:‌

  • continue用于跳过循环体中剩余的语句,‌并立即开始下一次循环的迭代。‌
  • 它同样可以用在任何类型的循环中。‌
  • 当执行到continue语句时,‌当前迭代中的剩余代码将被忽略,‌循环会立即检查条件是否仍然满足,‌以决定是否继续执行下一次迭代。‌

3.‌breakcontinue的区别‌:‌

  • break会完全结束循环,‌不再执行任何迭代。‌
  • continue只会结束当前迭代,‌并可能开始新的迭代(‌如果循环条件仍然满足)‌。‌
  • break可以用于退出多层嵌套的循环(‌通过配合标签使用)‌,‌而continue只能影响它所在的那一层循环。‌
    示例‌:‌
for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break; // 当i等于5时,‌退出循环
    }
    System.out.println(i);
}
// 输出0, 1, 2, 3, 4

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        continue; // 当i等于5时,‌跳过当前迭代
    }
    System.out.println(i);
}
// 输出0, 1, 2, 3, 4, 6, 7, 8, 9

        在这个例子中,‌break使得循环在i等于5时完全结束,‌而continue则只是跳过了i等于5的那一次迭代。‌

4.Java中goto关键字介绍

        Java中的‌goto关键字是一个保留字,‌但实际上并未被实现或使用‌。‌这意味着在Java程序中不能利用goto进行跳转操作。‌该设计主要源于“goto有害论”,‌即goto语句的使用往往会使程序的可读性降低。‌尽管如此,‌Java中依然保留了goto这个关键字,‌主要是为了将来可能的扩展,‌并防止开发者使用goto作为程序中的标识符。‌

        在Java中,‌虽然goto关键字不可用,‌但‌可以通过标签(‌label)‌与break和continue结合使用来实现类似goto的效果‌。‌标签是一个后面带有冒号的标识符,‌可以定义在循环的开始位置,‌然后在循环中使用带有标签的break或continue语句来跳出或继续执行指定的循环。‌

        在Java中,‌breakcontinue语句都可以与标签(‌label)‌一起使用,‌以便在嵌套循环中更精确地控制循环的流程。‌标签是一个紧跟在冒号(‌:)‌后面的标识符,‌它位于循环之前。‌

5.break标签的用法

  break语句用于立即退出标签所指定的循环,‌无论循环条件是否仍然满足。‌这在处理嵌套循环时特别有用,‌因为你可以直接跳出多层嵌套的循环,‌而不是一层一层地退出。‌

outerLoop: // 这是一个标签
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        if (i * j > 50) {
            break outerLoop; // 跳出标签为outerLoop的循环
        }
        System.out.println(i * j);
    }
}

6.continue标签的用法

  continue语句用于跳过标签所指定的循环体中剩余的语句,‌并立即开始下一次循环的迭代。‌与break一样,‌continue也可以与标签一起使用,‌以控制嵌套循环的流程。‌

outerLoop: // 这是一个标签
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        if (i * j > 50) {
            continue outerLoop; // 跳过标签为outerLoop的循环的当前迭代
        }
        System.out.println(i * j);
    }
}

你可能感兴趣的:(《JavaSE基础》学习笔记,java,算法,开发语言)