【问题标题】:Java "Errors" with math - int vs Double [duplicate]数学的Java“错误” - int vs Double [重复]
【发布时间】:2014-03-07 00:32:18
【问题描述】:

我今天早些时候注意到了一些奇怪的事情。我正在编写一些应该在复杂象限中制作图形的代码。无论如何,我输入了int i = 1/0;,它不会编译。当我将代码更改为double i = 1.0/0.0; 时,代码编译得很好。当我运行代码时,它给出了一个错误/ 0。我期待......但是为什么在使用双精度而不是整数时它编译得很好?我正在使用 Blue J IDE

【问题讨论】:

标签: java math graph int double


【解决方案1】:

int 值除以零会得到ArithmeticException,因此表达式1 / 0 是非法的。

double 值除以零的结果是无穷大NaN *,因此表达式1.0 / 0.0 是合法的。


*) 具体参见 t_over 的评论:

【讨论】:

  • 只是添加.. 将负数除以 0.0 等于负无穷大,将零除以零导致 Double.NaN
  • 感谢@t_over 我感谢额外的澄清:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-28
  • 2012-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多