首页 > 编程语言 > 详细

Java基本数据类型

时间:2021-01-06 13:59:23      阅读:14      评论:0      收藏:0      [点我收藏+]

八大基本类型:

  • byte:
    8位 [-2^7, 2^7-1]=[-128, 127] 默认值0
  • short:
    16位 [-2^15, 2^15-1]=[-32768, 32767] 默认值0
  • int:
    32位 [-2^31, 2^31-1] 默认值0
  • long:
    64位 [-2^63, 2^63-1] 默认值0L
  • float
    32位 默认值0.0f 单精度
  • double
    64位 默认值0.0d 双精度
  • boolean
    只有两个取值:true 和 false;
  • char
    单一的16位Unicode字符 [\u0000, \uffff]=[0, 65535] 可以存储任何字符

float和double类型不能表示精确的值,如货币。
float和double超过精度表示范围之后会发生精度缺失的情况。这是因为二进制存储十进制浮点数时,先将整数部分转换成二进制(整数部分除2取模,直到被除数为0),然后将小数部分转成二进制(小数部分2取整数部分,剩余小数部分继续2取整数部分,直到积为1),如果计算过程循环,则说明*2永远无法消灭小数部分。所以二进制只能精确表示2的-n次方的整数倍小数。
所以货币运算一般使用BigDecimal

为什么不使用Double或Float代表货币?
http://codingdict.com/questions/115606
Float与Double精度缺失的原因与避免
https://blog.csdn.net/qfqtzyt/article/details/102977117
货币计算请避免使用float和double
https://www.jianshu.com/p/1a6faab3cae4


除了基本数据类型,其他都是引用数据类型

Java基本数据类型

原文:https://www.cnblogs.com/javaupup/p/14239867.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!