1.什么是数组?
数组是多个相同类型数据的集合,在内存中是一段连续的空间。
2.一维数组的申明
两种方式:
int[] array;
String[] array1;
int array[];
String array1[];
推荐使用第一种。
3.一维数组初始化的两种方式
- 静态初始化:申明数组时就给数组元素赋值
// 两种方式
int[] arr = new int[]{1, 2, 3};
int[] arr1 = {1, 2, 3};
String[] strs = new String[]{"比尔盖茨", "乔布斯", "马斯克"};
String[] strs1 = {"比尔盖茨", "乔布斯", "马斯克"};
- 动态初始化:申明数组时不给元素赋值,但系统会给默认值,必须指定数组长度
int[] array = new int[3];
String[] array1 = new String[5];
4.一维数组元素的访问
使用索引访问数组的元素,索引从0开始。
int[] array = new int[]{1, 2, 3};
// 数组中的第一个数
int first = array[0];
// 数组中的第二个数
int second = array[1];
// 数组中的第三个数
int third = array[2];
// 输出为1 2 3
System.out.println("第一个数为:" + first);
System.out.println("第二个数为:" + second);
System.out.println("第三个数为:" + third);
5.一维数组获取长度
通过数组的length
属性可以获取数组长度
String[] strs = new String[5];
// 输出数组的长度为5
System.out.println(strs.length);
6.一维数组的遍历
int[] array = new int[]{1, 2, 3, 4};
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
7.一维数组元素的默认初始化值
数组动态初始化后,系统会分配默认值。
根据不同的类型,会有不同的默认值。
整形:0
浮点型:0.0
字符型:0对应的字符
布尔型:false
引用类型:null
8.二维数组的申明
两种方式:
int[][] array;
int[] array[];
推荐使用第一种。
9.二维数组初始化的两种方式
- 静态初始化:
int[][] array = new int[][]{{1, 2, 3}, {4, 5}, {6, 7, 8}};
int[][] array1 = {{1, 2, 3}, {4, 5}, {6, 7, 8}};
- 动态初始化
// 两种方式
int[][] array = new int[4][3];
// 外层数组可以不指定长度
int[][] array1 = new int[4][];
10.二维数组元素的访问
第一个中括号[]表示内层元素,第二个中括号[]表示外层元素
int[][] array = new int[][]{{1, 2, 3}, {4, 5}, {6, 7, 8}};
System.out.println(array[0][1]);// 输出为2
System.out.println(array[0]);// 输出为一个地址值
String[][] array = new String[4][3];
System.out.println(array[0][1]);// 输出为null
System.out.println(array[0]);// 输出为一个地址值
11.二维数组的长度
二维数组的长度获取的length
属性是内层数组的长度。
int[][] array = new int[3][2];
// 输出长度为3
System.out.println(array.length);
12.二维数组的遍历
int[][] array = new int[][]{{1, 2, 3}, {4, 5}, {6, 7, 8}};
// 输出为
// 1,2,3
// 4,5
// 6,7,8
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}