基本数据类型有:整数型,字符型,浮点型,布尔型;
引用类型有:类,接口,数组;
如下:
基本数据类型在栈划分一块内存,存在栈中,引用数据类型在栈中获得一块内存,具体在推中运行有一个地址!
public class TypeNumber {
/**
* 基本数据类型和引用数据类型的区别*/
public static void main(String[] args) {
//定义一个基本数据类型
int num = 2;
System.out.println(num);//num=2
getNumber(num);//调用getNumber方法
System.out.println(num);//任然num=2
System.out.println(getNumber(num));//在方法中得到num=4
//定义一个引用数据类型(数组) array
int[] array = { 1, 2, 3, 4, 5 };
//输出数组信息
System.out.println(Arrays.toString(array));
//输出数组地址
System.out.println(array);
//调用数组的方法
getArray(array);
//输出数组
System.out.println(Arrays.toString(array));
//输出该数组的地址
System.out.println(array);
}
public static void getArray(int array[]) {
for (int i = 0; i < array.length; i++) {
array[i] *= 2;
}
System.out.println(array + "方法中的数组地址");
}
public static int getNumber(int num) {
num *= 2;
// System.out.println(num);
return num;
}
}
输出结果:
2
2
4
[1, 2, 3, 4, 5]
[I@15db9742
[I@15db9742方法中的数组地址
[2, 4, 6, 8, 10]
[I@15db9742
说明在调用方法后;基本数据类型的值没有变,而引用数据类型的值发生了改变!