java基本类型和引用类型

本文详细解析了Java中的基本类型和引用类型的差异。基本类型变量存储实际值,改变变量值即改变存储的数值。而引用类型变量存储的是对象地址,改变引用值意味着改变指向的对象。通过数组例子说明了引用类型的工作原理,强调了改变数组元素与改变引用的不同影响。了解这些概念对于深入理解Java内存管理至关重要。
摘要由CSDN通过智能技术生成

java基本类型和引用类型

很多初学者会弄不清java的变量基本类型和引用类型,下面我们来把这个知识点来捋清楚

基本类型

基本类型的变量是指在定义变量的时候,计算机会给变量创建一个存储空间。例如我们定义一个整数型int变量a时,

int a=10;
a=100;

计算机会自动在内存中划分四个字节的内存出来,并把这个内存给变量a。a的地址就是这个内存空间的地址,如果改变a的值,a还是在那个内存地址上,变的是地址上储存的值,由10变成100。
在这里插入图片描述
基本类型的分类

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean

引用类型

和基本类型不一样的是,引用类型的变量上存储的值不是直接的值,而是我们所需要的值的地址。
以数组为例:

//定义一个数组arr
int[] arr={1,2,3};
System.out.println("arr的引用值"+arr);

输出结果:
arr的引用值[I@5cad8086

数组和变量的存储是这样的:
在这里插入图片描述
计算机为数组{1,2,3}开辟一个了存储空间,而变量arr在另一个存储空间上,并且arr的值就是数组第一个元素地址的值。这样因为arr的值是数组首元素的值,arr就可以通过这个值来找到对应的存放数值的空间,从而得到相应的值。

如果把另一个数组赋值给arr,则arr自己本身的内存地址没有发生变化,值则变成新的数组的首元素地址的值

arr = new int[]{4, 5, 6};
System.out.println("arr的引用值" + arr);

在这里插入图片描述
而原先的数组会因为没有变量指向它而被java的自动回收机制清除掉,不复存在。

引用类型的分类:
除基本类型外均为引用类型,如数组,类,方法等等

区别

基本类型上的值就是我们所需要的的数值,改变变量的值则是改变存放在该内存空间上的数值。
而引用值类型上存放的是我们所需要的值的地址,如果单单改变值(改变arr[i]的值),arr的值是不变的(因为arr还是指向该数组),只有令arr指向新的数组,它的值才会发生变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值