Java知识(基本数据类型的传值和引用数据类型和arrays类)


1.基本数据类型的传值和引用数据类型
基本数据类型传递的是值,引用数据类型传递的是引用;只要不是基本数据类型那就是引用数据类型。
int a=10;
//基本数据类型只占用一块空间
//定义两个基本数据类型变量,每一个都是独立的空间
int b=a;//相当于int b=10;
a=20;
System.out.println(a);
System.out.println(b);
//这时b的值不会变,因为基本数据类型传递的是变量的值
所以输出的结果是20和10

int[] a={10,20};
//引用数据类型:创建对象时首先在堆内存中先创建数据
//然后会在栈内存中创建一个引用地址
// System.out.println(a);输出的是引用地址不是数据
int[] b=a;
b[0]=30;
b[1]=40;
for(int i=0;i<2;i++){
System.out.println(a[i]);
}
//这时a的值会被改变,因为引用数据类型传递的是引用,两个引用指向同一块内存空间
//所以输出的结果是30和40而不是10和20
堆内存用来存放由new创建的对象和数组。
在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。
引用变量就相当于是为了数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。
2.Arrays类
Arrays类是jdk提供的专门用于操作数组的工具类,位于java.util包中
Arrays类常用方法:
a.boolean equals(array1,array2):比较两个数组是否相等

b.void sort(array):对数组array的元素升序排列
int[] a={80,70,50,78,69,88,98,65,70,90};
Arrays.sort(a);
String string=Arrays.toString(a);
System.out.println(string)
输出结果为[50, 65, 69, 70, 70, 78, 80, 88, 90, 98]

c.String toString(array):将一个数组转换成字符串
int[] a={1,2,3};
System.out.println(Arrays.toString(a));
输出结果为[1,2,3]
d.void fill(array,val):把数组array所有元素都赋值为val
int[] num={1,2,3};
//fill:把数组中的所有元素替换成一个值
//参数1:数组对象 参数2:替换值
Arrays.fill(num, 6);
System.out.println(Arrays.toString(num));
输出结果为[6, 6, 6]
e.copyof(array,length):把数组array复制成一个长度为length的新数组,新的数组跟数组array不是同一个对象,地址不同
f.int binarySearch(array,val):查询元素值val在数组中的下标,这个数组必须是排序完的

3.判断引用数据类型是否相等和判断基本数据类型是否相等
equals比较的是对象的内容是否相等,当用==判断引用数据类型是否相等时,判断的是地址,而用==判断基本数据类型时是判断值是否相等
hashcode不同,代表是两个对象
hashcode相同,不一定是一个对象




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值