java数据类型转换的问题

lxfhfut 2010-05-26 03:08:16
public short test()
{
short temp = 0;
temp += 1 << 8;
}
temp是short类系的,而1 << 8运算后应该是int类型 然后short + int应该还是int类型,最后把int类型再赋给short类型的temp编译器怎么不会报错呢?难道是我的理解有错吗?望高手指点!谢谢!
...全文
79 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoyao1 2010-05-26
  • 打赏
  • 举报
回复
学习了
shiyulianzi 2010-05-26
  • 打赏
  • 举报
回复
xiexie
lxfhfut 2010-05-26
  • 打赏
  • 举报
回复
xiexie!我已经找到在《java解惑》中找到答案了,“复合赋值编译将不会产生任何错误”!
liwenso 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ticmy 的回复:]
这个,是+=的原因

你换成temp = temp+ 1 << 8;试试
[/Quote]

确实。
龙四 2010-05-26
  • 打赏
  • 举报
回复
这个,是+=的原因

你换成temp = temp+ 1 << 8;试试

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧