我最近开始学习Java,不能只理解该语言的一项功能。
当我编写下面的代码时,我没有收到任何错误(而且明智地我不应该收到任何错误!):
byte b = 10 * 2
但是,当我输入以下代码时,编译器会抛出错误:
int i = 10; byte b = i * 2
当编译器可以执行检查10 * 2
以确保它小于 的范围时byte
,为什么它不能也执行检查i * 2
并查看它是否小于 的范围byte
?
它与较低级别的位表示有关,还是与内存有关?
潇潇雨雨
慕虎7371278
函数式编程
holdtom
小唯快跑啊
不负相思意
相关分类