一、基础知识
1、基本数据类型和引用类型
(1)、基本数据类型
基本类型 | 大小(字节) | 默认值 | 封装类 |
byte | 1 | (byte)0 | Byte |
short | 2 | (short)0 | Short |
char | 2 | \u0000(null) | Character |
int | 4 | 0 | Integer |
float | 4 | 0.0f | Float |
double | 8 | 0.0d | Double |
long | 8 | 0L | Long |
boolean | - | false | Boolean |
(2)、数据存储单位
中文单位 | 中文简称 | 英文单位 | 英文简称 | 换算 |
位 | 比特 | bit | b | 1bit = 0/1 |
字节 | 字节 | Byte | B | 1Byte = 8bit |
千字节 | 千字节 | KiloByte | KB | 1KB = 1024Byte |
兆字节 | 兆 | MegaByte | MB | 1MB = 1024KB |
吉字节 | 吉 | GigaByte | GB | 1GB = 1024MB |
太字节 | 太 | TrillionByte | TB | 1TB = 1024GB |
拍字节 | 拍 | PetaByte | PB | 1PB = 1024TB |
2^10 = 1024
①、存储1个英文字母或阿拉伯数字 = 1字节
存储1个汉字 = 2字节
(3)、boolean占几个字节
①、1个bit(位)
boolean类型的值只有true和false两种逻辑值,在编译后会用1和0来表示,这两个数在内存中只需要1位(bit)即可存储,位是计算机最小的存储单位。
②、1个字节
虽然编译后1和0只需占用1位空间,但计算机处理数据的最小单位是1个字节,1个字节等于8位,实际存储的空间是:用1个字节的最低位存储,其他7位用0填补,如果值是true的话则存储的二进制为:0000 0001,如果是false的话则存储的二进制为:0000 0000。
③、4个字节
《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。