byte,short, int ,long
byte,1个字节,
1个字节,最小的存储单元,-128< ~ 127,默认值为0。
其中-128为[1000 0000],不存在原码,计算机中存储的是补码
short,2个字节
-32768 ~ 32767,不常用。
int,4个字节
最常用,默认数据类型,-2^31-1~2^31 (21 亿)。
long,8个字节
通常用于数据库大表的id进行存储。
存储模型:存储的是补码
float , double
float:4个字节
double:8个字节,最常用,默认
存储模型:指数存储
从左到右是从低位到高位,而在计算机内部是采用逆序存储的。
备注
float、double并不能准确表示每一位小数,对于有的小数只能无限趋向它。
故在运算过程中可能出现2.00-1.10 = 0.8999999999999999 等情况
使用注意事项
程序中应尽量避免浮点数的比较
float、double类型的运算往往都不准确
float , double缺陷问题
float只能用来进行科学计算或工程计算,在大多数的商业计算中,一般采用java.math.BigDecimal类来进行精确计算。
Char,String
char
2个字节,其本质为int类型;显示时候,是经过处理的
String
不是基本数据类型
boolean
true 真 和 false 假
总结
byte | short | int | long | float | double | char | boolean |
1 | 2 | 4 | 8 | 4 | 8 | 2 | 1 |
-128~127 | +-32万 | +-21亿 |
| -3.403E38~3.403E38 | -1.798E308~1.798E308 |
| True false |