数组(Arrays)
数组是一种数据结构,它是一组相同类型的元素的集合,该集合中的每个元素都通过一个索引访问。在Java中,数组是一个对象,它可以存储在堆上或栈上,具体取决于它如何创建。数组可以是单维数组或多维数组。
- 数组是一个固定长度的数据结构,一旦数组被创建,其长度不能被更改。
- 数组中的元素可以是任何Java数据类型,包括原始类型和对象类型。
- 数组中的元素可以通过它们的索引(下标)来访问。数组的第一个元素的索引为0,最后一个元素的索引为数组长度-1。
单维数组
单维数组是一种最基本的数组结构,它包含一个行数和一列数。单维数组可以存储不同的数据类型,包括整数、浮点数、布尔值、字符等。
创建数组
创建一个存储10个整数的数组:
int[] arr = new int[10];
访问数组元素
要访问数组中的元素,可以使用以下方式:
arr[0] = 1;
int x = arr[0];
初始化数组
数组可以通过不同的方式进行初始化。
静态初始化
静态初始化是在定义和声明数组时进行初始化。例如:
int[] arr = {1, 2, 3, 4, 5};
动态初始化
动态初始化是在定义和声明数组后,使用分配运算符“new”分配内存空间并初始化数组。例如:
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
arr[i] = i+1;
}
数组的长度
可以使用“length”关键字找到一个数组的长度。例如:
int[] arr = {1, 2, 3, 4, 5};
int len = arr.length; // len = 5
数组的遍历
数组可以使用循环结构进行遍历。例如:
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
多维数组
多维数组是一个包含行和列的数组,每个元素是一个数组。Java支持二维数组和多维数组。
二维数组
二维数组是一个数组,其中每个元素都是一个数组,可以通过行号和列号进行访问。二维数组可以表示成表格或矩形。例如:
int[][] arr = new int[3][4];
可以通过以下方式访问二维数组中的元素:
arr[0][0] = 1;
int x = arr[0][0];
初始化二维数组
二维数组可以使用相同的静态和动态初始化选项进行初始化。例如:
静态初始化
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
动态初始化
int[][] arr = new int[3][3];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = i * j;
}
}
多维数组的长度
多维数组的长度等于第一维数组的长度。例如
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int len = arr.length; // len = 3
多维数组的遍历
多维数组可以使用嵌套循环进行遍历。例如:
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.println(arr[i][j]);
}
}