a) Considerando que x é do tipo short e y int, vamos precisar do Casting para não gerar erro, pois short (16 bits) é menor que int (32 bits), ou seja, short não pode receber int a não ser que seja explicitada a conversão (casting). Sendo assim, como x += y é equivalente a x = (T) (x + y), temos que x = (short) (x + y). Veja que o Casting foi feito corretamente e não haverá problema na conversão. Já na segunda linha (x = x + y), não há Casting exigido do maior (int) para o menor (short), o que resultará no erro de compilação. Esta é a alternativa correta, pois fica claro que a primeira linha compilará, e a segunda linha irá gerar um erro.
Considerando x=short e y=int. Podemos concluir, que como short possui menor capacidade de armazenamento que int, ocorrerá o erro na segunda linha. Pero, "Só sei que nada Sei".
Quando uma variável menor é armazenada em uma maior, ocorre um cast implícito, onde não é necessario aparecer o tipo da variável. Exemplo: int x, short y; x=x+y;
Quando uma variável maior é armazenada em uma menor, ocorre um cast explícito, onde é necessario aparecer o tipo da variável. Exemplo: int y, short x; x=(short)(x+y);
No caso da atribuição += o tipo da variável é adicionado automaticamente. Exemplo: int y, short y; x+=y;
Cadê a resposta ?
ResponderExcluirA
ResponderExcluirD
ResponderExcluirmentira é a ( A ) mesmo kkkk
ResponderExcluirAcessem o grandioso canal METAFILME TV!
ResponderExcluirpq o barato é louco
ResponderExcluirÉ D ou A, gente ?
ResponderExcluirnão sei mesmo
ResponderExcluira) Considerando que x é do tipo short e y int, vamos precisar do Casting para não gerar erro, pois short (16 bits) é menor que int (32 bits), ou seja, short não pode receber int a não ser que seja explicitada a conversão (casting). Sendo assim, como x += y é equivalente a x = (T) (x + y), temos que x = (short) (x + y). Veja que o Casting foi feito corretamente e não haverá problema na conversão. Já na segunda linha (x = x + y), não há Casting exigido do maior (int) para o menor (short), o que resultará no erro de compilação. Esta é a alternativa correta, pois fica claro que a primeira linha compilará, e a segunda linha irá gerar um erro.
ResponderExcluirFonte: http://taylorlopes.com/?p=1921
ExcluirC
ResponderExcluiré a A porque se x não suporta x+y então x é a menor variável, no caso short Felipe e Virgilio
ResponderExcluirhttps://virgiliocpontes.wordpress.com/ - Acessem o grandioso Blog!
ResponderExcluirConsiderando x=short e y=int. Podemos concluir, que como short possui menor capacidade de armazenamento que int, ocorrerá o erro na segunda linha.
ResponderExcluirPero, "Só sei que nada Sei".
Este comentário foi removido pelo autor.
ResponderExcluirQuando uma variável menor é armazenada em uma maior, ocorre um cast implícito, onde não é necessario aparecer o tipo da variável.
ResponderExcluirExemplo:
int x, short y;
x=x+y;
Quando uma variável maior é armazenada em uma menor, ocorre um cast explícito, onde é necessario aparecer o tipo da variável.
Exemplo:
int y, short x;
x=(short)(x+y);
No caso da atribuição += o tipo da variável é adicionado automaticamente.
Exemplo:
int y, short y;
x+=y;
Analisando a questão, intendo que short = x e int = y . Sendo assim pode concluir , que X e menor que Y , Por esse motivo só rodará a primeira linha .
ResponderExcluirRodrigo, comente com suas palavras sobre o Cast !
ExcluirBoa Facuri!
ResponderExcluir