Labeled Loops (loops rotulados)

4 respostas
cs.santos0

Iai pessual como é q ta??

Continuo na minha jornada pela SCJP e me deparei com um assunto que não esta nda claro para mim. Fiz uma busca aki no guj e um pouco no google, achei tópicos mas não consegui entender.

Gostaria de saber comno funcionam detalhadamente os labeled loops (loops rotulados), pois não entendi mto bem. Será que alguem poderia me dar alguns exemplos e explicando-os, por favor??

se alguem puder me dar essa ajuda, fico grato!!

Obrigado

4 Respostas

themasta

boolean isTrue = true; outer: for(int i=0; i<5; i++) { /** loop mais proximo do break */while (isTrue) { System.out.println("Hello"); break outer; } // end of inner while loop System.out.println("Outer loop."); // Won't print } // end of outer for loop System.out.println("Good-Bye");

Olha esse exemplo no livro da kathy

O break outer serve pra garantir q vai sair do loop com o label(o primeiro, neste caso), sem o outer(apenas o break) sairia do loop mais proximo do break(while(isTrue))…

nao sei se fui muito claro heheh

flw :slight_smile:

cs.santos0

huum…vlw a ajuda.

Gostaria de saber qual a diferença entre o break e o continue rotulado…quando eu devo usar um ou outro…??..essa é minha maior dúvida com relação a isso.

Alguem poderia me esclarecer???

Obrigado

nbluis

o Break para a iteração, já o continue faz ele ir diretamente para a proxima iteração.
Ex.

for(int i=0; i<100; i++) {
  if (i%2 == 0) continue;
  System.out.println(i);
}

Ele vai imprimir apenas os números ímpares, pois o if testa isso.
Agora o fato de ser rotulado, é para poder manusear isso em loops aninhados.

cs.santos0

o break e continue não rotulado eu sei como funciona.

eu não entendo a diferença deles quando são rotulados. Q o break faz saltar para fora do loop rotulado eu entendi…mas e o continue, faz saltar para onde??..qual a diferença dos dois??

Criado 7 de janeiro de 2008
Ultima resposta 7 de jan. de 2008
Respostas 4
Participantes 3