这么说 float f = 1也是对的?
但为什么 float f = 1.0不对呢?

解决方案 »

  1.   

    不对表示float类型数据是需要在后面添加后缀F
    没有后缀F的浮点数会被认为是double类型的
      

  2.   

    float f = 1 或 float f = -1 不会出现编译错误:
    实质是把 int 类型的 1 / -1 赋值给 float 类型 ,中间进行了类型转换
    所以 1 / -1 变成了 1.0 / -1.0 的浮点类型float f = 1.0 会编译错误 :无法把double类型赋值给float类型
    float类型数据需要在后面添加后缀F,没有后缀F的浮点数会被认为是double类型的
    所以会出现编译错误;float f = 1.0F 才对!
      

  3.   

    不对 float f = 1.0f
    float f = 1.0F
    才对
      

  4.   

    1和1.0是不同的字面量,遇到这样的问题自己编译试试就知道了,结果就象errorter说的那样,不过 1.0f 和1.0F都是可以被认为为float的
      

  5.   

    如果没有强制类型转换的话..float f = 1.0 这些语句执行的时候编译器都会有提示的.
    所以通常我们都要写1.0f.因为大的数据不能放到小的空间.其中有舍取的操作.
    至于后面的f或F都一样.支持楼上的说法
      

  6.   

    public class test {
    public static void main(String[] args) {
    float f = -1;
    System.out.println("" + f);
    }
    }输出为:
    -1.0java中默认的不是float,而是double, 所以float f = 1.0不对
    而要float f = 1.0 F或double f= 1.0
      

  7.   

    float f=1.0f加f才对不然编译器就认为是double了。
      

  8.   

    float f = 1是对的
    float f = 1.0不对float f = 1.0f
    float f = 1.0F
    才对