for esquisito  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
rodolfodev
JavaBaby
[Avatar]

Membro desde: 29/03/2006 16:09:17
Mensagens: 92
Offline

Estava olhando o guia de certificação do Rafael Pereira e tem uma pergunta com o seguinte for

Esse tipo de for apesar de ser esquisito ele é compilado e gera um loop infinito.
Mas se eu coloca-lo antes de um system.out.println ele não compila
e se eu colocar depois compila normalmente.

antes:

depois:

Alguem sabe me explicar o porque?
guinaps
HelloWorld

Membro desde: 17/07/2006 21:38:06
Mensagens: 13
Offline

Imagino que seja porque o compilador reconhece que há um comando após um laço infinito e não permite que isso aconteça já que esse comando nunca vai ser executado, no caso do println() estar depois do for.
O compilador não deu um detalhe específico depois da tentativa de compilação não?
ZehOliveira
GUJ Ranger

Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline

Dá "unreachable code".

Ele não é tão burrinho assim, o compilador checa se a expressão de checagem não foi passada ou se foi passado true. Nestes casos ele procura se tem algum "break" dentro de for, se não tiver é por que nunca vai sair dali e o trecho abaixo é inalcançável, daí o erro.
rmarin
JavaEvangelist
[Avatar]

Membro desde: 13/07/2005 09:14:45
Mensagens: 360
Localização: São Paulo
Offline

É isso aí, qualquer caso de Unreachable Code não compila.

Outro exmplo é quando existe um comando após o return de algum método:


Roberto Marin
__________________________________________
Odeio auto-nerds!
[WWW]
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

Ahhh sim....é bem claro, mas assim usar um for infinito assim é meio sem noção...sem nenhum break

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
rodolfodev
JavaBaby
[Avatar]

Membro desde: 29/03/2006 16:09:17
Mensagens: 92
Offline

esse é um tipo de pergunta q se eu não tivesse testado para ver oq acontece com certeza marcaria que não compilava como marquei no simulado.

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Esse for (que o sr. Gosling copiou da linguagem C) é o tipo de coisa que dá um "nó na cabeça" de quem vem de qualquer outra linguagem, já que é equivalente a:

mas escrito de forma enigmática.
[WWW]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team