JAVA中double是浮点型的,double i = 1;为什么没有错误?

如题所述

java里double的范围是最大的,所以把一个int数1付给double不会有问题,double形可以表示所有int数。反过来如果这样
int i=1.2 就会有问题,因为1.2是double型,有些double数int表示不了,会溢出,所以java不允许这样赋值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-14
您好,提问者:
double、float默认是double,所以不需要写d,当然写上d也不算错。
第2个回答  2013-07-14
怎么会错呢?整型常量向上隐式转型。float i = 1f; double k = 1; long p = 1l;都可以的~
第3个回答  2013-07-14
double i = 1;
//i为整形,即int类型的,此句进行了自动类型的转换,没有造成精度损失,所以不会报错的

第4个回答  2013-07-14
从低精度到高精度转换是不报错的
相似回答