Os posts marcados como "Pegadinha Java" têm a intenção de testar a sagacidade dos meus alunos iniciantes na Programação em Java. São tópicos curiosos e divertidos, e não têm a intenção de medir o conhecimento na linguagem Java.
A vocês, meus alunos, lembrem-se que a idéia é bater o olho no código e apontar a resposta correta. Naturalmente, trata-se de pegadinhas, ou seja, são trechos de código bastante mal-intencionados... :-)
Nesta segunda questão, vocês devem se lembrar do trecho de código abaixo:
System.out.println("010" + 10)
Todos vão se lembrar que o resultado não vai ser 20 e sim 01010. A explicação é fácil, pois o primeiro fator da soma é um String, logo ele vai converter o segundo fator também para String e concatenar os dois fatores.
Mas e o techo abaixo:
System.out.println(010 + 010)
O primeiro fator é numérico, logo o resultado da soma vai ser...
Muito bem! 16 (!!!)
Por quê?
Àqueles que descobriram a resposta, tenham a gentileza de não estragar a surpresa... :-)
Só me enviem mensagens se tiverem dúvidas, mas não revelem a resposta para os demais, certo?
Um abraço e até a próxima!
Assinar:
Postar comentários (Atom)
Não tenho nem ideia ! :-(
ResponderExcluirKkkkk... Grande Ely, obrigado pela sua participação!
ExcluirFiquei sabendo que você desvendou a Pegadinha I... Logo, esta segunda você vai acertar também. Pesquise em relação aos sistemas numéricos em java, o quê significa este zero na frente dos algarismos... O "mistério" está por aí... Bons estudos! :)
010 esta na base 8 (oct)
Excluirlogo
010+010 = 020 (oct) = 16 (dec)
É isso aí, Ricardo, matou a charada!
ExcluirObrigado pela participação, grande abraço,
Marcone