Java的基本属性
名称 | 类型 | 位数 | 描述 | 封装类型 |
---|---|---|---|---|
boolean | 布尔型 | 1位(1字节) | 有两个属性为true(1)和false(0),常用作判断,默认为false | Boolean |
byte | 整型 | 8位(1字节) | 表示8位以有符号的以二进制补码表示的整数,-27<=byte<=27-1,默认值0 | Byte |
char | 字符型 | 16位(2字节) | 表示一个单一的16位Unicode字符,0(\u0000)<=char<=65,535(\uffff) | Character |
short | 整型 | 16位(2字节) | 表示16位以有符号的以二进制补码表示的整数,-215<=short<=215-1,默认值0 | Short |
int | 整型 | 32位(4字节) | 表示32位以有符号的以二进制补码表示的整数,-231<=int<=231-1,默认值0 | Integer |
float | 浮点型 | 32位(4字节) | 表示单精度,32位,默认值0.0f | Float |
long | 整型 | 64位(8字节) | 表示64位以有符号的以二进制补码表示的整数,-263<=long<=263-1,默认值0L | Long |
double | 浮点型 | 64位(8字节) | 表示双精度,64位,默认值0.0d | Double |
注意:
- bit=1 二进制数据0或1
- byte=8bit 1个字节等于8位 存储空间的基本计量单位
- 一个英文字母=1byte=8bit 1个英文字母是1个字节,也就是8位
- 一个汉字=2byte=16bit 1个汉字是两个字节,也就是16位
扩展:
Java采用unicode来表示字符,java中的一个char是2个字节,一个中文unicode编码都占2个字节(英文占1个字节),但在其他编码中也不相同(UTF-8中,中文3-4字节,英文1字节;UTF-16中,中文3-4字节,英文2字节;UTF-32中,中英文都是4字节)。
例子:
byte bt=1;//byte类型的一个赋值
boolean bl=true;//boolean类型的一个赋值
short sr=1;//short类型的一个赋值
char ca='c';//char类型的一个赋值
int it=1;//int类型的一个赋值
float fl=123.4f;//float类型的一个赋值
long lg=1L;//long类型的一个赋值
double db=234.5d;//double类型的一个赋值
--------------------------------------------
Integer ig=new Integer(100);//实例化封装类型(装箱)
int in=ig;//拆箱,in与ig比较是相等的
Integer ir=new Integer(100);//如果ir与ig比较是不相等的(因为实际上是对一个对象的引用
---------------------------------------------
Integer ig=100;
Integer in=100;//直接声明封装类型是相等的,因为常量池为-128到127是可以自动拆装箱的,超出这个范围会创建新的实例