java中,1.1这个数不是浮点数?为什么不能赋值

我用eclipse编程。我我声明并赋值一个数 float a=1.1;
为什么eclipse说我出错,说不能把单精度数转为双精度。
我用double a=1.1;这样就正确了
这是为什么呢?难道1.1不是单精度浮点数?我理解单精度就是七位小数的精度。
为啥他非让我用double...
谢谢高玩

第1个回答  2011-10-22
java中,浮点型字面量默认是double型的,如果要声明为float,必须在数字后面加f,比如float=1.1f
第2个回答  2011-10-22
float一定要带上f
比如float a=1.1f; 这样才表示浮点型追问

加上f这个值是否还是单精度呢?是不是依然是占4个字节的内存?
还有一点疑问,为啥double不用加f呢。。
为啥long需要加l

追答

加上f,还是单精度,这是java的硬性规定吧 防止混淆。

本回答被提问者采纳
第3个回答  2011-10-22
JAVA中1.1这种默认是Double类型的。
相似回答
大家正在搜