Iteração Estranha (Sun Tech Days)  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
neohacker
Virtual Machine Man
[Avatar]

Membro desde: 30/10/2006 15:23:14
Mensagens: 576
Localização: Santo André
Offline


Pessoal estive no Sun Tech Days 2007 e uma das palestrantes mostrou diversos códigos e dava alguma alternativas pra gente escolher, em uma das perguntas ela mostrou este código, e até agora não consegui entender, pois pensava de um jeito e fiz um teste colocando

acreditando que não funcionaria, mas assim funciona acabando com a minha tese.

Alguém poderia me explicar, ou alguém que foi a palestra

Vlw

http//www.tecnologiaims.blogspot.com

↑ Grab this Headline Animator

http://www.imstechnology.blogspot.com
[Email] [WWW]
leandroqbs
JavaTeenager

Membro desde: 21/03/2007 08:53:41
Mensagens: 181
Localização: São Paulo
Offline

E o resultado ainda da 0 hahahahah q doideira...

Att,
Leandro Souza
[Email] [MSN]
neohacker
Virtual Machine Man
[Avatar]

Membro desde: 30/10/2006 15:23:14
Mensagens: 576
Localização: Santo André
Offline

Desculpe não está errado, eu não consigo entender porque o valor final de 'j' sempre será '0' (Zero)....

pra deveria de dar 100...mas ele não sai do zero

http//www.tecnologiaims.blogspot.com

↑ Grab this Headline Animator

http://www.imstechnology.blogspot.com
[Email] [WWW]
julianostr
GUJ Ranger
[Avatar]

Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline

Está certo, vai dar zero mesmo.

j recebe j e depois é incrementado, só que uma instância diferente.

Tanto é que se você for compilar numa IDE, Eclipse por exemplo, lá mesmo será dito que isso é um trecho sem efeito.


LASER
Light Amplification by Stimulated Emission of Radiation
neohacker
Virtual Machine Man
[Avatar]

Membro desde: 30/10/2006 15:23:14
Mensagens: 576
Localização: Santo André
Offline

essa parte da instância diferente não compreendi, eu ja debuguei o código e num da nenhuma dica do q acontece.

Obs: Porcaria do meu Eclipse nem falou isso

http//www.tecnologiaims.blogspot.com

↑ Grab this Headline Animator

http://www.imstechnology.blogspot.com
[Email] [WWW]
julianostr
GUJ Ranger
[Avatar]

Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline

Não é porcaria de Eclipse, hehehe...

Na verdade você tem que definir os níveis de mensagens ao compilar, no menu:

Window -> Preferences -> Java -> Compiler -> Errors/Warnings


LASER
Light Amplification by Stimulated Emission of Radiation
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

O que faz o j++?

Ele retorna o valor de j e depois incrementa j.

O que acontece com j = j++ ?

1) A JVM avalia o valor da expressão j++ (Que é zero)
2) A JVM incrementa o valor de j (de 0 para 1)
3) A JVM seta o valor da expressão pegado no primeiro passo na variavel j (setando o valor de j de volta para zero)


Para quem manja de bytecode do Java - ele faz o seguinte:


[]s,
Sami

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team