Java是一种强类型语言。这就意味着必须为每一个变量声明一种类型。在Java中一共有8中基本类型(primitive type),其中有4中整型、2种浮点型、1中用于标书Unicode编码的字符单元的字符类型和一种用于表示真值得boolean类型。
字节
1kb = 1024b; 1MB = 1024KB = 1024 * 1024B 其中 1024 = 2^10
1b(byte, 字节) = 8 bit;
相关单位
B与bit
数据存储是以“字节”(byte)为单位的,数据传输大多是以“位”(bit,又名“bit”)为单位,一个位就代表一个0或1(即二进制),每八个位(bit,简称b)组成一个字节(Byte,简写为B),是最小一级信息单位。
B与iB
1kb(kibibyte) = 1024byte
1kib(kilobyte) = 1000byte
硬盘生产商是以GiB(十进制,即10的3次方=1000,如1MiB=1000KB)计算的,而电脑(操作系统)是以GB(2进制,即2的10次方, 如1MB=1024KB)计算的,但是国内用户一般理解为1MiB=1M=1024 KB, 所以为了便于中文化的理解,翻译MiB为MB也是可以的。
同样根据硬盘厂商与用户对于1MB大小的不同理解,所以好多160G的硬盘实际容量按计算机实际的1MB=1024KB算都不到160G,这也可以解释为什么新买的硬盘“缺斤短两”并没有它所标示的那么大。
注:10TB大约等于一个人脑的存储量。
整型
用于表示没有小数部分的数值,允许负数。
在Java中,整型的范围与运行Java代码的机器无关。
长整型数值有一个后缀L,十六进制前缀0x,八进制有一个前缀0。
从Java7开始,加上前缀ob。从Java7开始还可以为数字字面变量加上下划线,如用1_000_000表示一百万,这些下划线只是为了让人更易懂,Java编译器会去除这些下划线。
浮点类型
浮点类型用于表示有小数部分的数值。在Java中有两点浮点类型。
float类型数值后有一个后缀F,没有后缀F的浮点数值默认为double类型。double后加D。
所有的浮点数值计算都遵循IEEE754规范。下面是用于溢出和出错情况的三个特殊浮点值
- 正无穷大
- 负无穷大
- NaN(不是一个数字)
Char类型
char类型用于表示单个字符。通常用来表示字符常量。在Java语言中char类型用UTF-16编码描述一个代码单元。
boolean类型
有两个值:false和true,用来判定逻辑条件。整型和布尔值之间不能相互转换。