float f=1.0f;1.0带小数点不加f,被为作是double

解决方案 »

  1.   

    9被当作0x09处理的,short是8位的
      

  2.   

    对于10的负数次方不能用float表示(不精确)
      

  3.   

    必须为单精度float类型常量后缀 F 或者 f
    float f=1.0F; 或者 float f=1.0f;
    不然编译器会把此常量认为是双精度double类型,而且编译器不自动把double类型转换为float类型,这样编译器认为精度有损失,所以报错对于short s=9;只要你给的常量范围在-32768到32767之间,都是可以的对于一个double变量,则几乎没什么限制,你可以:
    double d=1.0;  double d1=1.0d; double d2=1.0D;  double d3=1.0f ; double d4=10;
      
      

  4.   

    JAVA默认的浮点数的属性是double(1.0d)想用float定义必须用1.0f才可以
      

  5.   

    看看CORE JAVA VOLUMN I的第3章。