1.分类
java中的类型分为基本数据类型和引用类型,今天我们讨论的是java中的八大基本数据类型。
基本数据类型可以分为三类:1.数值类型。2.字符类型。3.布尔类型。
数值类型又分为:1.整数类型。2.浮点数类型。
整数类型:byte,short,int,long
浮点数类型:float,double
字符类型:char
布尔类型:boolean
2.区别
2.基本知识
基本类型 | 大小(字节) | 默认值 | 封装类 | 位数 |
byte | 1 | 0(byte类型) | Byte | 8 |
short | 2 | 0(short类型) | Short | 16 |
int | 4 | 0 | Integer | 32 |
long | 8 | 0L | Long | 64 |
float | 4 | 0.0f | Float | 32 |
double | 8 | 0.0d | Double | 64 |
boolean | 1/8 | false | Boolean | 1 |
char | 2 | \u0000(空白字符) | Character | 16 |
3.注意
1.每一种基本数据类型都有其对应的封装类型,封装类型是引用类型
2.计算机中能处理的最小单位是字节,1字节=8bit,根据字节计算出每种基本数据类型所占的位数,可以计算出每种基本数据类型所表示的范围,如short类型占2字节,即16bit,能表示数的个数:2^16=65536
3.java中的数值为带符号数值,需要用一个bit来表示符号位,所以有正负之分,如short表示的数是从-32768-32767
4.char的默认值为\u0000,是一个空白字符,但是和空格,null都是不同的
5.void是一种特殊的基本数据类型,它的封装类为Void,有些书籍将void也划分进基本类型中,所以是9种基本类型,这也是没错的,因为基本数据类型在栈区分配空间,引用类型在堆区分配空间,而Void是是一个不可实例化的类,所以将它归为基本数据类型。不过我们通常说的基本数据类型只有8种。
6.关于boolean类型的大小,由于JVM并没有专门为boolean类型设计指令,在编译过后,boolean类型使用的是int类型来表示true或者false,占了4个字节,而在boolean数组中使用的是short类型来表示,每个元素占了1个字节,所以boolean类型到达占用几个字节,要看具体情况
7.基本数据类型在编译时就能够确定所需空间,而引用类型要根据运行时的情况来具体分配空间