Java基础类型
计算机中的常用单位
位 bit
计算机中的最小单元,缩写为b,值为0或1,表示一位的二进制信息
字节 byte
计算机中的基本单位,缩写为B,1字节 = 8位,即1byte = 8bit
千字节 KB
1KB = 1024B
兆字节 MB
1MB = 1024KB
吉字节 GB
又称千兆字节, 1GB = 1024MB
其他单位
TB 万亿字节 太字节
PB 千万亿字节 拍字节
EB 百亿亿字节 艾字节
ZB 十万亿亿字节 泽字节
YB 一亿亿亿字节 尧字节
BB 一千亿亿亿字节
NB
DB
转化时,都以1024计算
基础类型及其包装类型
基本类型 | 存储空间大小 | 最大值 | 最小值 | 包装类类型 |
---|---|---|---|---|
boolean | - | - | - | Boolean |
char | 16bit | Unicode 0 | Unicode 2^16-1 | Character |
byte | 8bit | -128 | 127 | Byte |
short | 16bit | -2^15 | 2^15-1 | Short |
int | 32bit | -2^31 | 2^31-1 | Integer |
long | 64bit | -2^63 | 2^63-1 | Long |
float | 32bit | IEEE754 | IEEE754 | Float |
double | 64bit | IEEE754 | IEEE754 | Double |
boolean
boolean所占用的存储空间的大小没有明确指定,仅定义为能取字面值true和false
char
即Unicode字符
char类型的字符中包含某些特殊字符,即转义字符
常见的转义字符如下
- \b 退格
- \t 制表
- \n 换行
- \r 回车
- " 双引号
- ' 单引号
- \\ 反斜杠
整型
Java中,整形的默认类型为int,默认值为0
byte和short主要用于特定的应用场合,如底层的文件处理
long类型的字面值都应该加L加以区分,如11L表示的long类型的11,而11则表示的是int类型的11
浮点型
float为单精度浮点型。默认值是0.0F
double是双精度浮点型,默认值是0.0
浮点型的默认类型是double
同long类型类似,float的表示要在字面量后方加F进行区分
float和double都不能表示精确的值,如货币,主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确的表示分数1/10,这就好像十进制无法精确的表示1/3一样。如果想要进行高精度的计算,可以使用BigDecimal类,该类大体上也属于“包装类”,但是并没有对应的基础类型。
Double的特殊值
Double.POSITIVE_INFINITY 正无穷大
Double.NEGATIVE_INFINITY 负无穷大
Double.NaN 非数字
注意:不能使用 x == Double.NaN 的方法检测一个特定值是否等于Double.NaN,可以使用Double.isNaN()方法