使用正确的数字数据类型

Sca*_*rew 9 java types numbers

在更多地参与培训新工程师以及阅读Jon Skeet的DevDays演示文稿后,我开始认识到许多工程师在何时使用哪种数值数据类型时都不清楚.我很欣赏正式计算机科学学位在帮助实现这一目标方面的作用,但我看到很多新工程师表现出不确定性,因为他们从未使用过大型数据集,财务软件,编程术语或统计问题或复杂的数据存储问题. .

我的经验是,当人们在上下文中解释概念时,人们会真正理解这些概念.我正在寻找真正的编程问题的好例子,其中某些数据最好用数据类型表示.如果可能的话,尽量远离教科书的例子.我用Java标记这个,但是可以随意提供其他语言的示例并重新注册:

Integer,Long,Double,Float,BigInteger等......

Kev*_*ion 28

我真的不认为你需要例子或任何复杂的东西.这很简单:

  • 这是一个整数吗?
    • 可以> 2 ^ 63吗?的BigInteger
    • 可以> 2 ^ 31吗?长
    • 否则int
  • 是十进制数吗?
    • 是近似值吗?
    • 它需要准确吗?(例如:货币金额!)
      • BigDecimal的

(当我说">"时,我的意思是"绝对值更高",当然.)

我从来没有用过一个字节或字符来表示一个数字,而且我从来没有使用过短期.这是12年的Java编程.浮动?咩.如果你有一个巨大的阵列,你有内存问题,我想.

请注意,BigDecimal有点错误; 你的价值观根本不需要大.

  • 我真的很喜欢你打破它的方式.100%同意char,short和Floats with Java. (4认同)