java数组
1.什么是数组?
数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。
2.数组的使用
声明并开辟数组:
- 数据类型[] 数组名称 = new 数据类型[长度];
- 数据类型 数组名称[] = new 数据类型[长度];
建议:建议使用第一种,因为第二种在C语言中常用,为了区别java与C,所以一般使用第一种。
创建数组:
数据类型[] 数组名称 = new 数据类型[]{1,2,3,4,5,7};
数据类型[] 数组名称 = {1,2,3,4,5,6,7}; //可以省略new 数据类型[]
- 数组的访问通过索引完成,即:“数组名称[索引]”,但是需要注意的是,数组的索引从0开始,所以索引的范围就是0 ~ 数组长度-1。
- 数组本身是一个有序的集合操作,所以对于数组的内容操作往往会采用循环的模式完成,又因为数组是一个有限的数据集合,所以应该使用 for 循环。
- 当我们数组采用动态初始化开辟空间后,数组里面的每一个元素都是该数组对应数据类型的默认值;
Scanner inp = new Scanner(System.in);
System.out.print("请输入数字的个数:");
int num = inp.nextInt();
int[] stu = new int[num];
for(int i=0;i<num;i++) {
System.out.print("输入第"+ (i+1) +"个数:");
stu[i] = inp.nextInt();
}
//for循环遍历数组
for(int i=0;i<num;i++) {
System.out.print(stu[i]+ " ");
}
结果:
请输入数字的个数:7
输入第1个数字:2
输入第2个数字:4
输入第3个数字:6
输入第4个数字:43
输入第5个数字:2
输入第6个数字:5
输入第7个数字:6
2 4 6 43 2 5 6
3.二维数组
type[][] typeName = new type[typeLength1][typeLength2];
举例:
//int[][] typeName = new int[][]{{1,4},{3,5,7}};
//int[][] typename = {{1,2,3},{123,24,4}};
int[][] typeName = {{1,4},{3,5,7},{5,7,9,9}};
for(int i=0;i<typeName.length;i++) {
for(int j=0;j<typeName[i].length;j++) {
System.out.println("typename"+"["+ i +"]"+"["+ j +"]:"+ typeName[i][j]);
}
}
结果:
typename[0][0]:1
typename[0][1]:4
typename[1][0]:3
typename[1][1]:5
typename[1][2]:7
typename[2][0]:5
typename[2][1]:7
typename[2][2]:9
typename[2][3]:9
4.Arrays类的学习和使用
- 通过 fill 方法给数组赋值:。
- 通过 sort 方法对数组排序(按升序)。
- 通过 equals 方法比较数组中元素值是否相等。
- 通过 binarySearch 方法能对排序好的数组进行二分查找法操作(必须是按升序排序好的)。
- 通过 copyOf 将原数组中的元素拷贝到新的数组中。
- 通过 toString() 将数组转为字符串。