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