第一节  数组的概念

数组  是一组连续的存储空间,能存储多个相同数据类型的值。

第二节 声明数组的方式

//  方式一: 先声明 后初始长度
数据类型[]  数组名;
数组名 = new 数据类型 [ 数组长度 ]
//  方式二:
数据类型[] 数组名 = new 数据类型[数组长度];
//  方式三:在创建数组的同时,初始化元素值
数据类型[] 数组名 = new 数据类型[] {元素值1....};
//  简化写法
数据类型[] 数组名 = {元素值1......}
特点: 长度是固定的;数据类型是相同的。

第三节 数组的下标

下标:也叫角标 或者索引 index 是数组的连续空间的一个别名。从0下标开始表示第一个。一个数组的最大下标,是数组的长度-1

数组的访问(赋值或取值)格式:数组名[下标]

Ps: 数组的下标从0开始; index 索引  就是 下标

数组的异常:当访问数组时,如果下标超过数组的边界  " ArrayIndexOutOfBoundsException";  角标越界异常。

第四节 数组的遍历

遍历的概念:从头到尾,逐一对数组的每一个元素进行访问

for(int i = 0;i <a.length;i++){
  System.out.println(a[i]);
}

其中.length 可以获取数组的动态长度

使用循环变量i充当下标,逐一访问数组中的每个元素。

数组的默认值:其中如果没有对数组进行赋值,仍然可以访问,因为有默认值;

int的默认值:0

double的默认值:0.0

char的默认值:'\u0000'

boolean的默认值:false

String的默认值:null

数组的扩容

创建数组的时候,必须显示指定的长度,且不可改变数组的长度。

扩容的思路:

①创建大于原数组长度的新数组;②将原数组中的元素值一次复制到新数组中。

复制的方式:

循环将原数组中的所有元素逐一复制给新数组。

System.arraycopy(原数组,原数组起始下标,新数组,新数组起始下标,复制长度);

// 代码示例:

int[] arr = new int[3];
		arr[0] = 1;
		int[] arr2 = new int[arr.length*2];
				System.arraycopy(arr, 0, arr2, 0, 3);java.util.Arrays.copyOf(原数组,新长度);
Eg:     int[] arr2 = java.util.Arrays.copyOf(arr,6);