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;
"Não há nada mais difícil do que se ter em mãos algo novo, nem nada mais perigoso do que conduzir por caminhos inéditos, ou incertos quanto ao sucesso, ao se tomar a dianteira na introdução de uma nova ordem das coisas."
Martha Gabriel
"Sábios nos encantam e estúpidos nos cansam. Os meios digitais apenas ampliaram o poder de ambos, mas a escolha de quem ouvir ainda é nossa."
Sou + vc na Estácio
A Universidade Estácio de Sá está com matriculas abertas para nosso próximo semestre 2016.3 EAD. Oferece 25% de desconto durante todo o primeiro semestre letivo. Não perca essa oportunidade! Aproveite uma degustação, diversos cursos livres e grátis. Basta acessar o link: http://experimenteseusonho.com.br/Portal/Modules/Login/
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