Break... continue

Salve Salve Galera!

Estou tentando compilar o código abaixo e está dando um erro na linha
break fim;



public class Main {

	public static void main(String[] args) {
		

		
		
		for( int i = 0; i < 10; i++)
		{
			System.out.println(i);
			break fim;
		}
		
		
		fim:
			System.out.println("Fim!");
		
	}
}

O que está acontecendo de errado? Alguém pode explicar da melhor maneira possivel o continue e o break?!

Valeu!

Atn.
Dennys Fredericci

cara, eu naum entendi muito bem esta variável fim…

onde ela está declarada???

tenta assim;

[code]public class Main {
public static void main(String[] args) {

  for( int i = 0; i < 10; i++)
  {
     System.out.println(i);
     break;
  }
  System.out.println("Fim!");

}
} [/code]

vai dar erro pq tu ta declarando o laibel “fim” depois de chamar ele no break…, tu tens q declarar o label antes

[quote=“renan_daniel”]cara, eu naum entendi muito bem esta variável fim…

onde ela está declarada???

tenta assim;

[code]public class Main {
public static void main(String[] args) {

  for( int i = 0; i < 10; i++)
  {
     System.out.println(i);
     break;
  }
  System.out.println("Fim!");

}
} [/code][/quote]

não é uma variável, é como se fosse um goto…

Nossa… será que é isso?.. se não me engano vi um trecho de código assim… em algum site…

Atn.
Dennys Fredericci

Dennys,

vamos negociar…

se vc mandar as respostas para aquelas 10 questões q vc tinha proposto…eu te ajudo… :wink:

Abraço.

[quote=“Taz”]Dennys,

vamos negociar…

se vc mandar as respostas para aquelas 10 questões q vc tinha proposto…eu te ajudo… :wink:

Abraço.[/quote]

Quais questões? as do livro, Guia completo de Estudos para Certificação Java 2?

Eu parei de fazer as questões… vou ler até o fim e depois irei voltar lendo novamente e fazendo as questões…

É as do livro mesmo?

Atn.
Dennys Fredericci

Sim… essas mesmo…

Pessoal, deixa ver se eu entendi…

fim:

neste caso é um rótulo?

Neste caso teria que ser declarado antes de ser chamado…

Hum…

Engraçado… olhem o que eu encontrei na net…

http://www.dm.ufscar.br/~waldeck/curso/java/part26.html

Olhem o último exemplo da página…

Atn.
Dennys Fredericci

Assim que arrumar um tempinho eu posto!

:oops:

Atn.
Dennys Fredericci

[quote=“Dennys”]Hum…

Engraçado… olhem o que eu encontrei na net…

http://www.dm.ufscar.br/~waldeck/curso/java/part26.html

Olhem o último exemplo da página…

Atn.
Dennys Fredericci[/quote]

Pois é…

O que ele quis dizer sobre declarar como label?

[quote=“feliperod”][quote=“Dennys”]Hum…

Engraçado… olhem o que eu encontrei na net…

http://www.dm.ufscar.br/~waldeck/curso/java/part26.html

Olhem o último exemplo da página…

Atn.
Dennys Fredericci[/quote]

Pois é…

O que ele quis dizer sobre declarar como label?[/quote]

Então…

Eu peguei este código e não compilou…

Declarei todas as variáveis que não estão declaradas
mas mesmo assim não funfa…

Atn.
Dennys Fredericci

Mas alguem deve saber o que é declarar um rótulo como label…

Que tipo de label?
Como ficaria a declaração?

Fiquei curioso agora…

Leiam o artigo e tente ajudar, pessoal…

té +

Salve, Salve Galera!

Pesquisei mais um pouco e descobri que:

labels são aplicados somente a loops( do, while, for )

assim…



mainLoop:for(int i = 0; i < 10; i++)
		{
	
			System.out.println("i = " + i);
		
			innerLoop:for(int j = 0; j < 10; j++)
			{
				
				System.out.println("j = " + j);
				if( j == 8 )
				{
					break mainLoop;
				}
			}
	
		}

onde o break contino dentro do if vai sair do loop de fora… o exemplo está bem claro…

o continue é diferente, ele pula todo o código abaixo dele e é executado apartir do label que foi definido…

bom… isso foi onde eu cheguei… se eu estiver errado me avisem!

Obrigado!

Atn.
Dennys Fredericci

Ah! Para quem pediu as questões pesso que mande um mail para dennys@centralsoftware.com.br para me lembrar :oops: …

Valeu!

Até aí eu já sabia…
Isso é um rótulo…

Mas será que só pode ser usado nestas circunstâncias?
E pode ser chamado de label tb?
Isso que não entendi. Pq não funcionou no seu 1º exemplo?

té +

[quote=“feliperod”]Até aí eu já sabia…
Isso é um rótulo…

Mas será que só pode ser usado nestas circunstâncias?
E pode ser chamado de label tb?
Isso que não entendi. Pq não funcionou no seu 1º exemplo?

té +[/quote]

Acho que você está confundindo com GOTO, em liguagens como o vb por exemplo existe isso que vc falou, vc cria um label em qualquer parte da porcedure e depois dá um goto label…

Isso é somente para loops!

O Exemplo da página: http://www.dm.ufscar.br/~waldeck/curso/java/part26.html

Está ERRADO! pois um label só pode ser definido antes de um loop( for, while ou do )!

Bom… se eu estiver errado manda bala, mas até onde eu sei é isso…

Flw!

Atn.
Dennys Fredericci

Não é verdade!

Tb nao

Olha aqui! http://www.portaljava.com.br/home/modules.php?name=Forums&file=viewtopic&t=15829&postdays=0&postorder=asc&start=10

Ahhhhhh … mas agora q lembrei … hahahaah … Dennys já eh SCJP!
Tem tempo q ele postou isso kkk , mas serve pra galera nova dar uma olhada!

[quote=“fmartins”][quote=“Dennys”]
Isso é somente para loops!
[/quote]
Não é verdade!

Tb nao

Olha aqui! http://www.portaljava.com.br/home/modules.php?name=Forums&file=viewtopic&t=15829&postdays=0&postorder=asc&start=10

Ahhhhhh … mas agora q lembrei … hahahaah … Dennys já eh SCJP!
Tem tempo q ele postou isso kkk , mas serve pra galera nova dar uma olhada![/quote]

Caracas… “desinterrou” o tópico rs*

Na época eu estava com estas dúvidas mesmo, mas não cheguei a “fechar o tópico”…

Funfa para bloco de códigos com labels tb… :slight_smile:

Mas não me lembro se há algo na prova até este nível,
se não me engano seria somente LabedLoops…

Atn.
Dennys Fredericci