break语句是用来跳出循环还是只能跳出if语句?

14
在下面的代码中,break语句会中断哪个部分?只是if语句还是for循环也会被中断?
我需要它也能中断循环。
for (int i = 0; i < 5; i++) {
    if (i == temp)
        // do something
    else {
        temp = i;
        break;
    }
}
9个回答

22

这会使for循环中断。实际上,break仅在谈论循环时才有意义,因为它们完全从循环中退出,而continue仅进入下一个迭代


15

8

它也可以跳出循环。

您还可以使用带标签的break语句,这样可以跳出外部循环(以及任意代码块)。

looplbl: for(int i=;i<;i++){

    if (i == temp)
        // do something
    else {
        temp = i;
        break looplbl;
    }
}

4
它打破了循环,但为什么不在for循环中明确地放置条件呢?这样更易读,而且您根本不需要编写if语句。 (如果i==temp,那么temp=i是完全没有意义的)

2

break是用来跳出任何循环的。


2

它将总是跳出循环。


2

Break从不适用于if/else语句。它只适用于循环(if/while)和switch语句。


0

通常情况下,break语句用于跳出循环(forwhiledo...while)以及switch语句。

在Java中,有两种变体的break

1. 带标签的break

它会跳出你放置标签的外部循环。

breakThis: for(...){
   for(...){
      ... 
      break breakThis;  // breaks the outer for loop
   }
}

2. 未标记的break

这是你在问题中使用的语句。

它会跳出包含它的循环,通常是内部循环。


0

它会使你跳出for循环。通常使用break语句来优化程序的运行时间。也就是说,当满足给定条件时,使用break语句,这样它将使你跳出循环并忽略剩余的迭代。


还有其他回答提供了OP的问题,并且它们是一段时间前发布的。在发布答案时,请确保添加一个新的解决方案或者更加详细的解释,特别是在回答旧问题时。你应该发表评论。 - help-info.de

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接