数组是开辟一段连续地址的存储空间,存储数据信息。
如图所示:
数组的地址是连续的,数组的下标从 0 开始。取值的时候可以直接根据下标进行取值。
一、数组的建立
Java建立数组的方法如下:
int[] arr = new int[i];
int[] brr = new int[]{1,2,3,4};
其中 i 代表的是数组的长度,一旦设立是无法改变的。
brr 采用的是直接赋值的方式,他的长度会自动被设置成4。
这里建立的是一维数组,二维数组就是数组里的元素为一维数组,可以想象成一个矩阵。
接下来,我们用代码实现数组的一些基本操作:
public static void main(String[] args) {
//创建数组
int[] arr= new int[6];
//给数组中的元素赋值
arr[0]=1;
//打印数组中指定元素
System.out.println(arr[0]);
//打印数组的长度(包含几个元素)
System.out.println(arr.length);
//利用for循环给数组赋值
for (int i = 1; i<arr.length;i++) {
arr[i] = i;
}
//打印数组
System.out.println("打印数组的错误方式:" + arr);
System.out.println("正确方法:" + Arrays.toString(arr));
}
注意使用Arrays.toString()方法需要在程序中引入Arrays:
import java.util.Arrays;
二、数组的基础操作
1.扩容
数组扩容的思路是,建立一个新的数组,长度比原数组大1,最后把要插入的元素放在最后。
public static void main(String[] args) {
int[] arr = new int[] {1,2,3};
System.out.println(Arrays.toString(arr));
int dst = 14;
int[] brr = new int[arr.length+1];
for (int i = 0; i < arr.length; i++) {
brr[i] = arr[i];
}
brr[arr.length] = dst;
arr = brr;
System.out.println(Arrays.toString(arr));
}
2.插入
插入操作需给出想要插入的元素和想要插入的位置。要注意的是需要判断数组是否满了。因为如果数组满了,则需要进行扩容,才能够完成插入。原理即插入位置后的所有元素后移一位。