Questão interessante...  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Java Vinicius Machine
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 12:56:35
Mensagens: 484
Offline

Ae galera achei a questão abaixo super interessante e resolvi postar:

Quais das alternativas abaixo são verdadeiras com relação ao trecho de código acima:

A) O código a seguir não compila
B) O código a seguir compila sem problemas e exibe: "true"
C) O código a seguir compilar sem problemas e exibe: "false"
D) O código a seguir lança uma RuntimeException



Bom a maioria de vocês vai se surpreender com a resposta...

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Fowler)


Sun Certified Programmer for the Java Platform 1.4
thingol
Moderador

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

Vamos pôr os parênteses onde é mais difícil entender.

b2!= b1 = !b2

equivale a

(b2 != b1) = !b2

mas o problema é que (b2 != b1) não é um "L-Value" (ou seja, uma variável), então isso não compila.

Se o seu problema fosse

b2!= b1 == !b2

seria um pouco diferente, pois equivale a:

(b2 != b1) == !b2

e isso é fácil de calcular.


EDIT - é pena que não tem uma opção de "deixar as letras de cabeça para baixo" para a gente poder dar tempo para quem quiser responder à questão acima, sem olhar esta resposta.

This message was edited 1 time. Last update was at 05/07/2005 18:10:29

[WWW]
Java Vinicius Machine
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 12:56:35
Mensagens: 484
Offline

Perfeito, pena que quando eu fui fazer estava com a mente meia "nublada" e não pensei assim!

This message was edited 2 times. Last update was at 05/07/2005 18:33:03


Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Fowler)


Sun Certified Programmer for the Java Platform 1.4
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team