java学习-数组
数组
一组连续的存储空间,存储多个相同数据类型的数据
一维数组
-
数组的创建
// 1. 声明与分配空间分开
数据类型[] arrayName;
arrayName = new 数据类型[长度];
// 2. 声明和分配空间一起
数据类型[] arrayName = new 数据类型[长度]
// 3. 声明并赋值(繁):此时数组的长度就是3;注:这时不能在右边的中括号内指定长度
int[] intArr = new int[]{1,2,3};
// 3. 声明并赋值(简):
int[] intArr = {1,2,3}; // 不可换行 -
数组扩容:创建数组时必须显示的指定数组长度,且创建后长度不可更改。扩容思路:创建一个新的长度更大的数组,然后将原来数组的元素依次复制过去。
![]()
// 1. 遍历数组,将原数组的值一个一个copy过去
// 2. System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length); (是java.lang.System.arraycopy的简写吗?)
// 几个形参的意义:待复制的原始数组,原始数组开始复制的起始位置,目标数组,目标数组开始复制的起始位置,从srcPos开始复制到目标数组的元素长度
byte[] srcByte = new byte[]{1,2,3,4,5,6,7,8,9,0};
byte[] desByte = new byte[5];
System.arraycopy(srcByte, 1, desByte, 0, 5); // desByte = [2,3,4,5,6]
// 3. java.util.Arrays.copyOf(T[] origin, int newLength);拷贝原始数组,并返回新的数组。
// 两个参数:原始数组,新数组长度。
int[] intArr = {1,2};
int[] copyArr = java.util.Arrays.copyOf(intArr, 3); -
方法中数组类型的参数
public static void arrParam(int[] args) {....} // 名为args的形参,数组,数组项为int型。
// 传不确定数量的参数
// 语法: 数据类型... 形参名 必须定义在形参列表的最后一个,且只能有一个
public static void arrParam1(int... args) {
System.out.print(args)
}
arrParam1(1,2,3,4) // 此时args=[1,2,3,4] -
数组排序
java.util.Arrays.sort(数组名) // 升序
二维数组
概念:一维数组中的一维数组;数组中的元素还是数组。
-
二维数组的声明与赋值
![]()
数组的访问和赋值:
数组名[高维索引][低维索引],如:arr[1][2]。


浙公网安备 33010602011771号