@Eduardo: sim, neste caso o break
quebra o bloco de fora.
A função do break é quebrar o primeiro bloco de repetição dentro do qual ele se encontra. Vamos dar alguns exemplos:
for (int i = 0; i < 10; i++) {
break;
}
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
}
Nos dois casos acima, o break
quebra o laço de repetição for (int i = 0; i < 10; i++)
.
for (int i = 0; i < 10; i++) {
for (int j = 10; j < 20; j++) {
if (i == 5) {
break; // primeiro break
}
}
break; // segundo break
}
No caso acima, o primeiro break
somente quebra o laço for (int j = 10; j < 20; j++)
, e o segundo break
somente consegue quebrar o laço for (int i = 0; i < 10; i++)
. Isso acontece pois o primeiro laço do primeiro break
é o laço que percorre a variável j
, seguido então pelo laço que percorre i
. O condicional if
não interfere na funcionalidade do break
, somente impõe uma condição para que este ocorra.