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()方法