目录
一、一维数组
(一)概念
数组就是一个容器,数组就是用来存储同种数据类型的多个值
(二)静态初始化
在内存当中为数组容器开辟空间,并将数据存入容器中的过程
数组静态初始化格式:
- 完整格式:数据类型[ ] 数组名 = new 数据类型[ ] {元素1,元素2,元素3....};
- 简化格式:数据类型[ ] 数组名 = {元素1,元素2,元素3....};
(三)定义格式
格式1:数据类型[ ] 数组名
eg:int[ ] array
格式2:数据类型 数组名[ ]
eg:int array[ ]
(四)元素的访问
数组元素的访问格式:
数组名[索引];
**索引:数组容器中空间所对应的编号,编号从0开始,逐个加1增长
(五)遍历操作
数组遍历:将数组中的每个数,取出来进行操作
第一种方式:
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);//这种方式代码过于繁杂,复用率低
第二种方式:使用循环
for(int i = 0; i < 5; i++){
System.out.println(arr[i]);
}//循环次数被定死了
第三种方式:
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}//动态获取数组的长度,即元素的个数
**在idea中,可以使用 数组名.fori 的快捷键快速将遍历数组的代码写出
(六)动态初始化
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型[ ] 数组名 = new 数组类型[数组长度];
eg:int[ ] arr = new int[3];
(七)常见问题
空指针异常:当引用数据类型变量被赋值为null之后,地址的指向被切断,还继续访问堆内存数据,就会引发空指针异常,例如:
int[] arr = new int[2];
//把null赋值给数组
arr = null
//输出元素
System.out println(arr[0]);
}
二、二维数组
(一)概念
也是一种容器,用来存储一维数组。
使用思路:如果要操作多组数据,且属于同一组数据,可考虑使用二位数组进行维护。
(二)静态初始化
1、完整格式:数据类型[][] 数组名=new int[][]{{元素一,元素二},{元素一,元素二}};
- eg:int[][] arr=new int[][]{{11,22},{33,44}};
2、简化格式:数据类型[][] 数组名={{元素一,元素二},{元素一,元素二}};
- eg1: int[][] arr={{11,22},{33,44}};
- eg2: int arr[][]={{11,22},{33,44}};
(三)遍历二维数组
public static int GetDoubleArraySum(int arr[][]) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
System.out.println(arr[i][j]);
}
} return sum;
}
(三)动态初始化
格式:数据类型[ ][ ] 数组名 = new 数据类型[m][n];
- m表示这个二维数组,可以存放多少个一位数组
- n表示每一个一个数组,可以存放多少个元素
eg :int[][] a=new int[][]{{1,22,3},{3,4},{5,6,7,8,9},{}};