已采纳回答 / nosilence
JAVA是一种强类型语言,你在做赋值运算的时候其实等号两边的类型都是确定的,能赋值成功,要么两边类型一致,要么两边类型具备某种关系(继承或者实现),要么编译器通过上下文可以判定。比如:byte x = 1;1是个整数字面量,是int类型,这个值在byte类型的范围之内,这个时候编译器会帮你做类型转换,只留下int类型8位,前面的0都去掉。而在JAVA中浮点类型的字面量类型默认是double,但是由于float类型和double类型在内存中的二进制表现形式不同:一个8位;一个4位。编译器在编译的时候扫描到了...
2016-03-13