给float 类型的变量赋值为什么后面要加f?

来源:8-3 如何使用 Java 中的对象

qq_我知道了_0

2016-04-09 20:09

给float 类型的变量赋值为什么后面要加f?

写回答 关注

5回答

  • MikaMika
    2016-04-09 20:24:05
    已采纳

    float类型变量赋值的数值没有加f时,例如数字1.2,会把它作为double类型处理,也就是说吧double类型的值赋给float类型,然而由于float类型和double类型在内存中的二进制表现形式不同,java不会进行自动转换,两边类型不一样就不能赋值。  所以必须要加上f。

    qq_我知道...

    谢谢啊,受教了

    2016-04-09 21:41:19

    共 1 条回复 >

  • 尘1
    2016-04-09 20:56:44

    在不加f的情况下:

    如果将除long型的整数类型(包括字符型)的常量表达式赋值给float型,系统自动将其转化成double型,编译不会出错,但精度丢失。

    如果将其他类型数赋值给float型数,则编译出错。

  • wtj676980867
    2016-04-09 20:41:33

    因为默认的是double

  • ispadek
    2016-04-09 20:36:42

    float类型变量赋值的数值没有加f时,例如数字1.2,会把它作为double类型处理,也就是说吧double类型的值赋给float类型,然而由于float类型和double类型在内存中的二进制表现形式不同,java不会进行自动转换,两边类型不一样就不能赋值。  所以必须要加上f。

  • 风雪寒江
    2016-04-09 20:34:29

    float类型赋值时没有加f,系统会默认为double类型

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530642 学习 · 6091 问题

查看课程

相似问题