为了账号安全,请及时绑定邮箱和手机立即绑定

以下程序的输出是什么?5.3f 和 5.3 之间的区别是什么

以下程序的输出是什么?5.3f 和 5.3 之间的区别是什么

呼如林 2023-06-14 14:46:04
以下程序的输出是什么?5.3f 和 5.3 有什么区别?public class DemoOnFloat      {           public static void main(String[] args)          {            float fl = 5.3f;          if (fl == 5.3)              System.out.println("Both are equal");          else              System.out.println("Both are not equal");      }  } 
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

当您在源代码中只写 5.3 时,Java 将其假定为 64 位 Double。这意味着 Java 的默认浮点数数据类型是 Double。如果你想告诉 JVM 这应该是一个 32 位浮点值,你必须明确地在值后面加上 'f'。

因此,在您提出问题时,在 if() 条件内,您正在比较浮点值和双精度值。您将得到“两者不相等”作为输出。

附加说明:同样,Java 默认将非十进制数识别为 32 位整数。如果你想告诉 JVM 这应该是一个 64 位 Long 值,你必须明确地在值后面加上 'L'。

希望这可以帮助。


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信