class A
{
    public static void main(String args[])
    {
       float f1 = 0x0123;
       float f2 = -1;
    }
}
编译和运行都正确.

解决方案 »

  1.   

    float 赋值都必须加f
    ---------------------
    谁说的?
    应该是float类型的数值必须带f赋值用int会自动强转.
    假如是传参不带f,就见红了喵~~``
      

  2.   

    float f2 = -1;是指把一个int型值-1赋值给float型变量f2
      

  3.   

    同意1楼,不过你的结尾简直太有创意了。
    I 服了 YOU!
      

  4.   

    LZ你试试定义float f = 1.12;
    不加f看有没提示?
    如果还没提示估计就是JDK的版本了
      

  5.   

    double -> float的时候才需要.
      

  6.   

    浮点数默认是double型 你要将一个浮点数赋值给float时要加f的
      

  7.   

    题中的是int -1 赋值给f2,用到类型自动转换。
    如你把一个float类型的值 1.45赋值给f2  这时你不加f 就抱错
      

  8.   


    float a = 'c';都可以
    float作为基本类型的最大范围,赋值除了boolean不行,其他的都可以自动强转.
    'c'当然是char型,不过系统赋值做了float a = (float)'c';处理
      

  9.   

    带小数点的数字定义成float型,就要加f了,默认是double的;