Boa noite Amigos, estou aqui de novo prosseguindo meus estudos e com dúvida neste código:
public class Breaker2 {
static String o= "";
public static void main(String[] args) {
z://esta linha, não entendi o seu significado
for (int x= 2; x < 7; x++){
if(x==3)continue;
if(x==5)break z;
o = o + x;
}
System.out.println(o);
}
}
Podem me ajudar com a linha que comentei? Desde já agradeço.
procure ler sobre loops rotulados
z é o nome do rótulo do seu for
O z: é um rótulo.
Quando usado assim: break z; indica que é para fazer o break no código mais perdo de z, nesse caso seria no for.
veja esse exemplo:
boolean isTrue = true;
outer:
for(int i=0; i<5; i++) {
while (isTrue) {
System.out.println("Hello");
break outer;
} // fim while
System.out.println("Outer loop.");
} // fim for
Nesse exemplo o rótulo é outer:
o ‘break outer;’ indica então que é para fazer o break no for, pq o outer: está relacionado com o for.
se tirar o outer do break, o break vai sair do while e não do for.
então, sempre que usar um rótulo em um loop, e depois um break rotulo, o break vai sair do loop em que foi usado o rótulo, ou do loop mais próximo ao rotulo declarado.
Obrigado amigos, estas duas respostas foram suficientes pra eu entender, muito obrigado mesmo, abracos.