目录
概述
Java中的数据类型分为两大类分别是基本类型和引用类型,基本类型包含bite、short、int、long、float、double,char,boolean等八种类型,引用类型包含类,数组,接口类型等等,还有其他很多类型。
1.基本数据类型
简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。在Java中共有八种基本数据类型,它们分别是以下几种类型:
- 1、byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
- 2、short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
- 3、int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
- 4、long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
- 5、float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
- 6、double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
- 7、boolean:只有true和false两个取值。
- 8、char:16位,存储Unicode码,用单引号赋值。
注:一个字节等于8位(bit)
2.引用类型
1.引用类型 由类型的实际值引用(类似于指针)表示的数据类型。如果为某个变量分配一个引用类型,则该变量将引用(或“指向”)原始值。不创建任何副本。
2.引用数据类型非常多,大致包括:
类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型
例如,String类型就是引用类型。
ps:其实除了基本数据类型之外,其他的都可以称为引用类型
3.基本数据类型和引用类型区别
①.存储上的区别
1.基本数据类型是存放在栈中的简单数据段。
2.引用数据类型是存放在堆内存中的对象,在栈内存中存放的是堆内存中具体内容的引用地址,通过这个地址可以快速查找到对象。
②.比较上的区别
1.基本数据类型的比较是值的比较
var a = '{}'
var b = '{}'
console.log(a == b) //true
直接比较值,看起来一样那么他就是一样的。
2.引用类型的比较是引用对象的比较
var a = {}
var b = {}
console.log(a == b) //false
③赋值区别
1.基本数据类型的赋值是简单赋值,如果一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把这个值复制到为新变量分配的位置上,新旧两者毫不相干,改变其中一方另一方不会有任何影响。
2.引用类型的赋值是在栈里创建一个新的引用指向相同的堆对象,两者息息相关,改变一个,另一个随之改变。