数组:存储同一种数据类型的多个元素的容器。
定义格式:
int arr[];
//定义了一个变量名为arr,数据类型为int的数组
数组的初始化:为数组开辟空间,并为数组中的每个元素赋予初始值。
数组初始化的两种方式:
A.动态初始化:只给出长度,由系统给初值。
B.静态初始化:给出初始化值,由系统决定长度。
动态初始化实现:
数据类型[] 数组名 = new 数据类型[数组长度];
eg:
int[] arr =new int[3];
其中3为数组长度,即数组中元素的个数。
[]为数组的标识符。
int为数组的类型。
arr为数组的名称。
new为数组开辟新的空间,分配内存.
如何访问数组?
数组名[索引]
eg:
arr[0]
Tip:数组中的编号从零开始,最大长度时数组长度减一!!!
使用数组时常见的两个问题:
①ArrayIndexOutOfBoundsException:数组索引越界
原因:访问了不存在的索引。
②NullPointerException:空指针异常
原因:数组已经不再指向堆内存的数据了,却还使用数组名去访问。
二维数组如何初始化?
A.动态初始化的实现:
数据类型[][] 数组名 = new 类型[一维数组的个数][一维数组中元素的个数]
B.静态初始化的实现:
数据类型[][] 数组名 = {{元素,元素...},{元素,元素...}...}
一维数组的遍历如何实现?
int[] arr = {1,2,3,4}
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
}
二维数组的遍历如何实现?
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++){
System.out.print(arr[x][y]+" ");
}
System.out.println(); //空行,每个一维数组遍历完在下一行开始新的一维数组的遍历.
}