Logo Passei Direto
Buscar
Considere o seguinte trecho de código em Java:
public void metodo () {

byte b = 2:
short s = b;
int i = s;
long l = i;
float f = l;
double d = f;

JOptionPane.showMessageDialog(null, d):

Assinale a alternativa correta:
A) O código está correto e irá exibir o valor 20.
B) O código apresenta erros. Não é possível atribuir variáveis de tipos diferentes sem que faça um cast para a conversão de tipos.
C) O código apresenta erros. Não é possível atribuir variáveis de tipos de menor capacidade a variável de tipos de maior capacidade sem que se faça um cast para a conversão de tipos.
D) O código apresenta erros. Não é possível atribuir variáveis de tipos inteiros a variáveis de tipo de ponto flutuante sem que se faça um cast para a conversão de tipos.
E) O código apresenta erros. Uma variável de tipo byte só pode receber os valores 0 ou 1.
User badge image
Exercícios Para o Conhecimento

mês passado

Respostas

User badge image

Ed Verified user icon

mês passado

Vamos analisar o trecho de código apresentado e as alternativas. 1. O código começa com a declaração de um `byte b = 2;`, que é válido. 2. Em seguida, `short s = b;` é uma conversão implícita válida, pois `byte` pode ser convertido para `short` sem problemas. 3. Depois, `int i = s;` também é uma conversão implícita válida, pois `short` pode ser convertido para `int`. 4. A linha `long l = i;` é igualmente válida, pois `int` pode ser convertido para `long`. 5. A linha `float f = l;` é uma conversão válida, mas é importante notar que a conversão de `long` para `float` pode resultar em perda de precisão, mas não gera erro de compilação. 6. Por fim, `double d = f;` é uma conversão válida, pois `float` pode ser convertido para `double`. O código não apresenta erros de compilação e, ao final, o valor exibido será 2. Portanto, a alternativa correta é: A) O código está correto e irá exibir o valor 20. (Incorreta, pois exibirá 2) B) O código apresenta erros. Não é possível atribuir variáveis de tipos diferentes sem que faça um cast para a conversão de tipos. (Incorreta, pois as conversões são válidas) C) O código apresenta erros. Não é possível atribuir variáveis de tipos de menor capacidade a variável de tipos de maior capacidade sem que se faça um cast para a conversão de tipos. (Incorreta, pois as conversões são válidas) D) O código apresenta erros. Não é possível atribuir variáveis de tipos inteiros a variáveis de tipo de ponto flutuante sem que se faça um cast para a conversão de tipos. (Incorreta, pois a conversão é válida) E) O código apresenta erros. Uma variável de tipo byte só pode receber os valores 0 ou 1. (Incorreta, pois um `byte` pode receber valores de -128 a 127) Portanto, a resposta correta é que o código está correto e não há uma alternativa que descreva isso. Se tivesse que escolher a mais próxima, seria a alternativa que diz que o código apresenta erros, mas isso não é verdade. Assim, a resposta correta é que o código está correto e não há uma alternativa correta entre as apresentadas.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Qual das alternativas abaixo apresenta uma declaração correta de um array?
a) Array i – new array
b) Int array i = new int array
c) Int [5] i = new int [5];
d) Int [5] i = new int [];
e) Int [] i = new int [5];

Mais conteúdos dessa disciplina