本帖最后由 ◇半度微凉 于 2011-12-11 13:59 编辑
float t=3.5;肯定是错误的啊!首先3.4数值常量默认情况下是double类型,如果赋值给f,那么就要进行数据类型转换,将由double转换成float类型,但是浮点型(float)常量数值默认是double类型的,而double类型的数据表示的范围要比float类型的数据表示范围要大,所以不能进行自动类型转换,只能强制转换,这时可以写成float f = (float)3.5;或者在3.5后面加上'f'或'F',即float f = 3.5f; 而第二个byte a=3中,因为byte和int之间可以相互进行隐式转换,所以byte已经自动转换成int了,所以不会报错! |