java中基本数据类型和引用数据类型的区别有哪些?
一. java基本数据类型
1. 简介
所谓的基本数据类型,是指CPU可以直接进行运算的类型,包括以下几种:
● 整数型:byte、short、int、long;
● 浮点型:float、double;
● 字符型:char;
● 布尔型:boolean
二.引用数据类型
1. 简介
在Java中,除了基本类型之外,其余的类型都属于引用数据类型。引用类型定义的变量非常类似于C/C++的指针,它内部存储一个“地址”,可以指向一个对象在内存中的位置。指向对象的变量就是引用变量,这些变量在声明时被指定为一个特定的类型,比如People、System等。变量一旦声明后,其类型就不能被改变。
● Java类、接口、数组等都是引用数据类型;
● 所有引用类型的默认值都是null;
● 一个引用变量可以用来引用任何与之兼容的类型;
● String字符串是引用类型。
三.基本数据类型和引用数据类型的区别
1. 基本数据类型是存储数据的简单类型,而引用数据类型是存储对象的引用或地址。
2. 基本数据类型在内存中分配固定的空间,而引用数据类型在内存中分配一个地址,实际数据存储在另外的位置。
3. 基本数据类型是直接存储在栈(stack)中的,而引用数据类型在栈中存储的是一个地址,这个地址指向堆(heap)中的实际数据。
4. 基本数据类型有8种:byte、short、int、long、float、double、char、boolean,而引用数据类型有类(class)、接口(interface)、数组(array)、枚举(enum)等。
5. 基本数据类型是直接存储值,而引用数据类型是存储指向对象的引用。
6. 基本数据类型的默认值是0或false,而引用数据类型的默认值是null。
7. 基本数据类型的传递是按值传递,而引用数据类型的传递是按引用传递。换句话说,基本数据类型的值在传递时是复制的,而引用数据类型的值在传递时是引用的副本。