一、基本数据类型
java中基本数据类型一共分为8种
基本数据类型:byte、short、int、long、float、double、char、boolean
byte、short、int、long是整型 (1,2,4,8)
float、double是浮点型 (4,8)
char是字符型 (2)
boolean是布尔型 (1)
二、引用类型
java为每种基本类型都提供了对应的封装类型,分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean。引用类型是一种对象类型,它的值是指向内存空间的引用,就是地址。
三、基本类型与引用类型的区别
1.默认值
整型byte、short、int、long的默认值都为0,浮点型float、double的默认值为0.0,boolean默认值为false,char默认值为空。对应的包装类型默认值都为null。
2.内存分配
基本数据类型的变量是存储在栈内存中,而引用类型变量存储在栈内存中,保存的是实际对象在堆内存中的地址,实际对象中保存这内容。
3.自动装箱、自动拆箱
Java从jdk1.5开始引入自动装箱和拆箱,使得基本数据类型与引用类型之间相互转换变得简单。
自动装箱: java自动将原始类型转化为引用类型的过程,自动装箱时编译器会调用valueOf方法,将原始类型转化为对象类型。
自动拆箱: java自动将引用类型转化为原始类型的过程,自动拆箱时编译器会调用intValue(),doubleValue()这类的方法将对象转换成原始类型值。
自动装箱主要发生在两种情况:一种是赋值时,一种是方法调用时。