数组二

基本数据类型——传值
不同的变量会分配不同的存储空间
改变一个变量值不会影响另一个变量值
例如:
int a = 10;
int b = a;
a = 20;
System.out.println(a + " " + b);

引用数据类型——传引用(赋值传递的是地址)
堆内存:用来存放有new或{}创建的对象和数组
在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等 于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。
引用变量:相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访 问堆中的数组或对象。
例如:
int[] infoa = { 11, 22 };
int[] infob = infoa;
infob[0] = 33;
infob[1] = 44;
System.out.println(infoa[0] + "," + infoa[1]);
System.out.println(infoab+"\n"+ infoa]);

引用数据类型判断是否相等 == 判断的传递的是地址不是值,equals方法判断传递的是值,判断两个数组里面的内容是否相等

Arrays类:
Arrays类是JDK提供的专门用于操作数组的工具类,位于java.util包中
直接调用Arrays类的方法操作数组,无需自己编码

Arrays类常用方法:
1.boolean equals(array1,array2):比较两个数组是否相等
例如:
System.out.println(str);
String a = new String("q");
String b = new String("q");
// 引用数据类型判断是否相等 == 判断的传递的是地址不是值,equals方法判断传递的是值
//System.out.println("地址相等");
// }else{
// System.out.println("地址不相等");
if (a.equals(b)) {
System.out.println("值相等");
} else {
System.out.println("值不相等");
}

2.void sort(array):对数组array的元素进行升序排列
例如:
int[] score = { 79, 70, 89, 65, 93 };
/ sort方法的作用是将一个数组按照由小到大进行排序
Arrays.sort(score);
// str代表一个引用地址
String str = Arrays.toString(score);
// print方法可以直接打印字符串的值
System.out.println(str);

3.String toString(array):该方法将一个数组array转换成一行字符串
例如:
int[] a = { 1, 2, 3 };
System.out.println(Arrays.toString(a));

4.void fill(array,val):把数组array所有元素都赋值为val
例如:
int[] num = { 1, 2, 3 };
//把数组中的所有元素替换成一个值
//参数1是数组对象,参数2是替换后的值
Arrays.fill(num, 6);
System.out.println(Arrays.toString(num));

5.copyof(array,length):把数组array复制成一个长度为length的新数组
例如:
int[] a = { 1, 2, 3 };
// 把一个原有的数组内容复制到新数组中
// 参数1:原数组; 参数2:新数组长度
int[] b = Arrays.copyOf(a, a.length);
System.out.println(a);
System.out.println(b);
System.out.println(Arrays.toString(b));

6.int binarySearch(array , val):查询元素值val在数组array中的下标
使用前提:必须经过排序才可以使用
char[] a = { 'a', 'b', 'c', 'd', 'e' };
int i = Arrays.binarySearch(a, 'd');
System.out.println(i);

二维数组(多维数组):
Java提供了定义多维数组的语法:
定义二维数组:int[][] a;
分配内存空间:a = new int[][];
其实Java中只有一维数组,没有多维数组
int[][] s = new int[3][5];

使用数组:
1.声明数组 int[][] a;
2.分配空间 a = new int[2][3];
3.赋值 a[0][0] = 8;
二维数组的初始化:
int[][] score = {{82,90,35,57,78},{76,63,80},{87}};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值