1.数组的概述
- 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
- 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。
- 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。
- 数组的长度一旦确定,就不能修改。
- 可以通过下标(索引)的方式调用指定位置的元素,速度很快。
2.一维数组
public class ArrayTest {
public static void main(String[] args) {
// 1.一维数组的初始化
// 1.1静态初始化: 数组的初始化和数组元素的赋值操作同时进行
int[] arr1 = new int[]{1, 2, 3};
// 1.2动态初始化: 数组的初始化和数组元素的赋值操作分开进行
int[] arr2 = new int[5];
// 2.数组元素的默认初始化值
/*
* 数组元素是整型: 0
* 数组元素是浮点型: 0.0
* 数组元素是字符(char)型: 0(ASCII)
* 数组元素是布尔(boolean)型: false
*
* 数组元素是引用数据类型: null
*/
// 3.其他的写法
int[] arr3 = {6, 6, 6}; // 类型推断
int arr4[] = new int[3];
int[] arr5; // 数组的声明
arr5 = new int[6]; // 数组的初始化
}
}
3.二维数组
对于二维数组的理解,我们可以看成是一维数组 array1 作为另一个一维数组 array2 的元素而存在。从数组底层运行的机制来看,其实没有多维数组。
public class ArrayTest {
public static void main(String[] args) {
// 1.二维数组的初始化
// 1.1静态初始化
int[][] arr1 = new int[][]{{1, 2, 3}, {4, 5}};
// 1.2动态初始化
int[][] arr2 = new int[4][5];
// 2.二维数组元素的默认初始化值
/*
* 初始化方式1: int[][] arr = new int[6][6];
* 外层元素的初始化值: 内存地址
* 内层元素的初始化值: 与一维数组的初始化情况相同
*
* 初始化方式2: int[][] arr = new int[6][];
* 外层元素的初始化值: null(因为数组是引用数据类型)
* 内层元素的初始化值: 不能调用,否则报错
*/
// 3.其他的写法
int[][] arr3 = {{6, 6, 6}, {9, 9 ,5}}; // 类型推断
int arr4[][] = new int[6][6];
int[] arr5[] = new int[6][6];
int[][] arr6 = new int[6][];
int[][] arr7;
arr7 = new int[9][9];
}
}