为什么float和double在java中表现出不同的行为?

为什么float和double在java中表现出不同的行为?,java,types,Java,Types,案例1 案例2 float a=033.0 //shows compilation problem 为什么案例1显示错误而案例2不显示错误,反之亦然?默认情况下,java使用双精度类型存储浮点值。由于您在float(向下转换)中存储double,java将抛出一个错误。它可以通过两种方式解决 浮子a=033.0f 浮动a=(浮动)033.0 案例1---float a=033.0//显示编译问题 案例2----双a=033.0//工作正常 在Java中,十进制数被解释为double,因此无

案例1

案例2

float a=033.0   //shows compilation problem

为什么案例1显示错误而案例2不显示错误,反之亦然?

默认情况下,java使用双精度类型存储浮点值。由于您在float(向下转换)中存储double,java将抛出一个错误。它可以通过两种方式解决

  • 浮子a=033.0f

  • 浮动a=(浮动)033.0

  • 案例1---float a=033.0//显示编译问题

    案例2----双a=033.0//工作正常

    在Java中,十进制数被解释为double,因此无法自动执行从double到float的转换,因此您需要这样给出:
    浮子a=033.0f

    这只是对Java语法的理解。 您可以读取java的基本数据类型。 你会在任何地方得到它

    链接:

    直接指向此链接,按ctrl+F组合键并粘贴此“浮点文字”。 你不会浪费时间徘徊

    为了您自己的方便,现在您可以选择这个

    浮点数=25.24F; 分位数=25.24f

    双biggerFractionNum=56.65555D

    biggerFractionNum=56.65555

    但总的来说是这样的。。。以后你会习惯的

    浮球foo=34.4F

    双doo=34.4;
    立即实施它。。。体验它,理解它…&你永远不会忘记它。:)

    您所描述的问题已在中得到回答
    double a=033.0 //works fine