O que é um labeled loop?

24 respostas
K

ola pessoal estou estudando a apostila da caelum e lá pede para fazer um pesquisa sobre labeled loops … eu gostaria de saber o que são eles ? para que servem ? como e quando usa-los ? poderiam me ajudar …

24 Respostas

J

São loops com um label (rotulo), para que possam ser identificados, seria como dar nome a um loop, é usado principalmente em loops aninhados para que você possa usar um break, continue, etc, dentro de um loop interno e afetar um loop externo, ex.:

primeiroloop: for(int i=0;i<10;i++){ segundoloop: for(int j=0;j<10;j++){ if(alguma_condicao){ break primeiroloop; } } }

Veja que o break está dentro do segundo for, mas ele vai parar o primeiro.

http://java.sun.com/docs/books/tutorial/java/nutsandbolts/branch.html

B

Interessantee sta Caelum, e este Forum, os posts de 2007 estão servindo muito bem rpa mim hoje em 2011. Obrigado!

Eternamente grato a todo !

V

Barbini:
Interessantee sta Caelum, e este Forum, os posts de 2007 estão servindo muito bem rpa mim hoje em 2011. Obrigado!

Eternamente grato a todo !


Sem querer floodar mas tenho que abrir esse parenteses aqui. Cara estudo na Caelum estou fazendo formação java e realmente SANTA CAELUM! O ensino lá é ótimo, somos tratados com individualidade e não apenas como uma turma, la somos pessoas e não numeros. E quanto ao GUJ conhecia antes de ir estudar lá, e depois que fiquei sabendo que a CAELUM quem comanda a barca aqui, fiquei mais fã ainda desse fórum imenso.

OBRIGADO CAELUM!! E um salve para o Toshi, meu professor. O cara manda muito!

D

E quem diria, 6 anos depois, em 2013, esse tópico de 2007 ainda esta sendo muit bom pra mim.

S

Dê uma lida nisto

O uso deles é raro, mas muito util quando é necessário

F

estou com a caelum fj-11
e este post me ajudou tbm agora em 2013
muito obrigado

A

Concordo com os amigos acima. Estou estudando as apostila da Caelum Java F-11 e este tópico me esclareceu sobre o assunto muito bem. Obrigado amigos!

L

E viva Caelum e GUJ! Continua ajudando hehehe

R

Estou estudando uma apostila do SENAI e foi pedido a mesma coisa. E me ajudou agora em 2014. Obrigado, mesmo após anos o tópico ainda ajuda os estudantes.

J

E quem diria, 8 anos depois, em 2015, esse tópico de 2007 ainda esta sendo muito bom pra mim.

J

Obrigado …

G

Puxa, hoje, em 2017, 10 anos depois, ainda está sendo útil. Muito obrigado!!!
Hehe.
Brincadeiras à parte…muito bom o material da Caelum, e a dúvida esclarecida também, direto ao ponto.
Obrigado pessoal.

P

Uma Java tem uma capacidade incrível de resistir ao tempo, em 2025 ainda vai ter legado em Java funcionando.

H

Incrível

Não conheço nenhum outro fórum melhor que este… assuntos e dúvidas abordados há anos mas, até hoje em pleno 2016 ainda existe e ajuda pessoas como eu… que estão conhecendo as maravilhas de java hoje.

Gostara é de conhecer pessoalmente e aprender com este engenheiro que escreveu este fórum… gostaria de ser discípulo deste grande homem!

L

Opa boa tarde galera esse post me ajudou muito, Abraços a todos e ate mais ver, ha estou em 2016

R

Ajudou no meu auto-estudo, haha. E este é meu primeiro post no GUJ! (primeiro de muitos)

S

Quem diria eu, em 2016 :slight_smile:

K

Excelente resposta, muito obrigado.

S

obrigada pela a ajuda !!

D

Reforçando o que jaireltonPj publicou irei colocar um código em java que na prática irá explicar essa questão do labeled. Espero que Ajude:

package br.com.caelum.apostilapoo;

import javax.swing.JOptionPane;

public class Pg29labeled {

public static void main(String[] args) {

	// vamos criar um pequeno exemplo de labeled em java para melhor
	// concretizarmos esse conceito -- espero que ajude...

	// 1º vamos criar uma variável x que irá receber um número para
	// verificação

	// variável inteira x que irá receber o primeiro valor
	int x;
	// variável inteira y que irá receber o segundo valor
	int y;
	// aqui iremos captar o valor digitado no teclado por meio do objeto
	// JOptionPane
	// convertendo-o para um tipo de dado inteiro a mesma coisa acontace com
	// o y
	x = Integer.parseInt(JOptionPane.showInputDialog("Digite Um Valor x -->>"));
	y = Integer.parseInt(JOptionPane.showInputDialog("Digite Um Valor y -->>"));

	// primeiro rótulo labeled
	primeiroloop:
	// primeiro laço de repetição i recebe x primeiro valor digitado
	// e irá até y segundo valor digitado
	for (int i = x; i <= y; i++) {
		// em seguida por meio do System.out metodo de saída irá
		// imprimir na tela o valor inicial digitado para x
		System.out.println("primeiroloop i-->>" + i);
		
		//aqui já no fim dos testes terminamos quando i==y
		if (i == y) {
			//imprime 
			System.out.println("fim break");
			//para o software
			break;
		}
		// segundo rótudo labeled
		segundoloop:
		// no segundo laço j recebe o valor inicial digitado x
		// e faz a sua repetição até o valor final digitado y
		for (int j = x; j < y; j++) {
			//faz um varredura nos valores de x a y novamente mais quando
			//chegar em 7 ele entra na condicional
			System.out.println("Testando segundoloop-->>" + j);
			// condicional se j==7 então 
			if (j == 7) {
				// imprime
				System.out.println("J chegou no 7 continue primeiroloop-->>");
				//e continua (retorna) para o primeiro loop
				continue primeiroloop;
			}
		}
	}
}

}

S

Só pra compartilhar com os entusiastas acima, 2017 e ainda útil, kkk.
Java sempre Java, vlw guj…

G

Só registrando minha visita enquanto estudo no Alura.com o módulo Java I =)
Info ainda mega válida em 23/03/2017.
Tkx guys!

B

Só pra deixar minha marca aqui.
E falar que esse fórum é muito bom e me ajuda muito.

Um abraço para todos.

J

2017 E me ajudando

Criado 11 de janeiro de 2007
Ultima resposta 7 de abr. de 2017
Respostas 24
Participantes 25