Вызывает ли оператор break из циклов или только из операторов if?

В следующем коде оператор break выходит из оператора if только или из цикла for тоже?

Мне нужно, чтобы он тоже вышел из цикла.

for (int i = 0; i < 5; i++) {
    if (i == temp)
        // do something
    else {
        temp = i;
        break;
    }
}

Ответ 1

Это вырвалось бы из цикла for. Фактически break имеет смысл только говорить о loops, так как они полностью ломаются от loop, а continue переходит только к следующему iteration.

Ответ 3

Он также выходит из цикла.

Вы также можете использовать помеченные перерывы, которые могут вырваться из внешних циклов (и произвольных кодовых блоков).

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

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

Ответ 4

Он прерывает цикл, но почему бы не явным образом поставить условие в себя? Это было бы более читаемым, и вам не пришлось бы писать оператор if вообще

(если я == temp, то temp = я совершенно бессмысленно)

Ответ 5

break должен выйти из любого цикла.

Ответ 6

Он всегда будет выходить из цикла.

Ответ 7

Разрыв никогда не относится к операторам if else. Это относится только к циклам (if/while) и операторам switch.

Ответ 8

Обычно оператор break вырывается из циклов (for, while и do...while) и switch.

В Java есть 2 варианта break.

1. Labeled break

Он разбивает внешний контур, в который вы кладете макет.

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

2. Unlabeled break

Это утверждение, которое вы использовали в своем вопросе.

Он разбивает цикл, в котором он написан. Обычно внутренний цикл.

Ответ 9

Это вырвет вас из цикла. Обычно оператор break используется для оптимизации времени выполнения вашей программы. Означает, что данное условие выполнено, используйте оператор break, чтобы он вывел вас из цикла и проигнорировал оставшиеся итерации.