@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.