首先我知道Java在涉及到byte,short和char的运算时会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型结果。。
那么问题来了,下面是我在书上看到的面试题,我想知道为什么不是两个答案都错×而只是B。。求各路大神帮忙解答

Java运算相关。。。。。。。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
8条回答 默认 最新
- threenewbee 2017-10-24 09:18关注
因为int表示的范围比short大,所以任何short转换成int都没事,反过来,int转short就可能出错。
所以前者可以自动转换,后者需要程序员强制转换,java这么设计是为了防呆。就好比usb插头,反过来差不进去一样的道理。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报