java中自动类型提升的顺序为:
byte、short、char --> int --> long --> float --> double
那么问题来了:
long和float到底哪个范围大?
long 8个字节
float 4个字节
为什么float存储范围比long大呢?
代码中测试类型转换:
long l = 123456;
float f = 123.4F;
float f1 = l; //隐式,自动类型转换
long l1 = (long)f; //强制类型转换