E ai Javeiros,
sou novo por aqui, estou começando com estudos para certificação e gostaria de compartilhar informações…
coloco aqui 2 questoes que achei interesante!
O que resulta compilar o codigo abaixo?
public class Conditional{
public static void main (String args[]){
int x = 4;
System.out.prinln(“valor é”+((x>4)?99.99:9));
}
}
a. A saída: valor é 99.99
b. A saída: valor é 9
c. A saída: valor é 9.0
d. Erro de compilação na linha 5
brainn, eu não fiz as contas aqui não, mas por olhar, eu acho que a número 1 a resposta é a letra C… Mas por garantia, quando chegar em casa eu vou fazer a contas na mão e vejo se eu acertei…
T+
B
BrainnPJ
Cuidado com essa 2ª pessoal parece meio obvia!
viu Felipe !!!
Até mais galera!
R
RafaelJPJ
prinln dá erro…
Se você tiver digitado errado, então é a opção B.
Quanto a primeira questão eu não faço nem idéia…
B
BrainnPJ
A resposta da 2 não é B …
F
FabioAzulPJ
1a D - o operador >>> é o de deslocamento a direita sem sinal, que preenche com zeros a esquerda.
e
2a C. - é assumido a maior precisão, portanto o resultado é um ponto flutuante mesmo…
Acertei ? :?:
F
FabioAzulPJ
vc acredita se eu disser que eu enxerguei o contrário … :oops:
“FabioAzul”:
1a D - o operador >>> é o de deslocamento a direita sem sinal, que preenche com zeros a esquerda.
Tipo, o certo é só o A .
a letra D esquece exatamente por não ser o >>>,
a letra B esquece pq " vc faz a volta " exata, isto é, o inteiro tem 32 bits, vc desloca 32 bits para a direita, isso equivale a um deslocamento de 0 bits … naum muda nada
a letra C fiquei na dúvida, mas como vc está fazendo a operação com o Inteiro (32 bits) e guardando num byte (8 bits), ia precisar de pelo menos um deslocamento maior que 24 bits para mudar o sinal…
B
broeringPJ
Respondendo:
resposta “a”
resposta “d” mas no seu codigo o erro eh na linha 4 System.out.prinln(“valor é”+((x>4)?99.99:9)); prinln…
B
BrainnPJ
Vamos as respostas:
1-> letra a
2-> letra c (desconsiderando o erro de digitação do println!)
Pq que qdo vc tem duas opções com tipos de precisão diferente, o tipo assumido é o de maior precisão. Qdo vc “imprime” um número ponto flutuante, ele por padrão vem com o “.0”.
F
FabioAzulPJ
“Brainn”:
Vamos as respostas:
1-> letra a
2-> letra c (desconsiderando o erro de digitação do println!)
ia dar erro tb… qndo eh um objeto tem q ser dos dois… dai pra fazer isso soh se for convertido a forca pra string…
F
FabioAzulPJ
“RafaelJ”:
Mas as comparações estão entre int x = 4 e 4. Onde entra o ponto flutuante aí?
Fiz o teste e dá 9.0 mesmo, só não entendi o por quê…
acho que me expressei mal…
qdo os resultados possíveis são de tipos diferentes, o tipo de maior precisão é o considerado. Se vc ver no comando vc pode ter um [color=“red”]double[/color] ou um [color=“blue”]int[/color] como resultado. No caso, o de maior precisão é o [color=“red”]double[/color].