double是32位,float是16位,double表示的范围和精度都比float大 java默认的小数声明是double 所以double d=4.0是正确的 而float则必须如下声明 float f=4.0f