java数据类型
总的来说,java的数据类型分为基本数据类型和引用数据类型。
基本数据类型:
基本数据类型有四种类型,这四种类型再细分可分为8种(就是我们常说的四类八种):
- 整数类型(byte,short,int,long)
- 浮点类型(float,double)
- 字符类型(char)
- 布尔类型(boolean)
注意:字符串类型String不在这四类里面
byte: 是字节类型,一个byte在内存中占用1个字节,8比特位。
范围是:-27 ~ 27-1
short: 是短整型 ,一个short在内存中占用2个字节,16个比特位。
范围是:-215 ~ 215-1
int: 是整型,一个int在内存中占用4个字节,32个比特位。
范围是:-231 ~ 231-1
long: 是长整型,一个long在内存中占用8个字节,64个比特位。
范围是:-263 ~ 263-1
float: 是单精度浮点型,一个float在内存中占用4个字节,32个比特位。
范围是: 1.4013E10-45~3.4028E1038
double: 是双精度浮点型,一个double在内存中占用8个字节,64个比特位
范围是: 4.9E10*-324~1.7977E*10308
char: 是字符型,一个char在内存中占用2个字节,16个比特位。
范围是: 0-65535
boolean: 是布尔类型,一个boolean可以用1个比特位来存储,并没有规定具体的大小,他只有两个值true和false。
引用数据类型
引用数据类型分3种:类,接口,数组;
-
类(class)
类我们已经再熟悉不过了,所有的类呢都是引用类型,java库里的类和我们自己写的类都是引用类型。有几个比较常用的类,比如Object类,还有将基本类型装箱的包装类都是引用数据类型。 -
接口(interface)
跟类一样,可以有我们自己写的,也可以是java库中的,比较常见的就是集合,List,Set,Map等 -
数组
数组是存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。
数组初始化的两种方式:
第一种方式:类型[] 数组名 = new 数组类型[]{元素1,元素2,元素3,…元素n};
第二种方式:类型[] 数组名 = {元素1,元素2,元素3…元素n};实际上是第一种的简化
第三种方式:类型[] 数组名 = new 数组类型[数组长度];
引用数据类型的使用,可以帮助我们释放更多的栈内存空间(基本数据类型放到栈里,引用数据类型内容在堆中,地址在栈中)