5.1数组的引用

基本数据类型-传值,即传递变量的值
package com.jredu.ch06;
public class Ch01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//不同的变量会分配不同的存储空间,改变一个变量的值不会影响有另一个变量的值
int a=1;
int b=a;//相当于int b=1; a和b是两块空间,是独立的,存放的值,一个基本数据类型占用一块空间
a=20;
System.out.println(a);
System.out.println(b);//打印的结果a=20;b=1;
如图所示:

引用数据类型-传引用,数组保存的并非是数组的实体,而是堆内存的参考地址
引用类型:所有的“类”,数组
堆内存用来存放由new创建的对象和数组。
在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对象在堆内存中的首地址。栈中的这个变量就变成了数组或对象的引用变量。
引用变量就相当于是为了数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。

int[] arry1={11,12};
System.out.println(arry1);//打印的结果就是hashcode码
如图所示:
int[] bb=new int[2];//创建对象时,首先在堆内存中创建数据,然后会在栈内存中创建一个引用地址
int[] arry2=arry1;
System.out.println(arry2);//和arry1打印的结果相同
如图所示:
arry2[0]=13;
arry2[1]=18;//对引用数据类型,赋值是把原对象的引用传递给另一个引用,两个引用指向同一块内存空间。
System.out.println(arry2[0]+","+arry2[1]);
System.out.println(arry1[0]+","+arry1[1]);//两个打印的结果相同
如图所示:
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值