跳到主要内容

Java数组

数组是Java中最基本的数据结构之一,它是一种用于存储相同类型数据的容器。数组的大小在创建时确定,并且在整个生命周期中保持不变。本文将详细介绍Java数组的概念、使用方法以及实际应用场景。

什么是数组?

数组是一种线性数据结构,用于存储相同类型的元素。数组中的每个元素都可以通过索引访问,索引从0开始。数组的大小在创建时确定,并且不能动态改变。

数组的特点

  • 固定大小:数组的大小在创建时确定,不能动态改变。
  • 相同类型:数组中的所有元素必须是相同类型。
  • 索引访问:数组中的元素可以通过索引访问,索引从0开始。

声明和初始化数组

在Java中,数组可以通过以下方式声明和初始化:

声明数组

java
// 声明一个整型数组
int[] numbers;

初始化数组

java
// 初始化一个大小为5的整型数组
numbers = new int[5];

声明并初始化数组

java
// 声明并初始化一个整型数组
int[] numbers = {1, 2, 3, 4, 5};

访问数组元素

数组中的元素可以通过索引访问。索引从0开始,最大索引为数组长度减1。

java
int[] numbers = {1, 2, 3, 4, 5};

// 访问第一个元素
int firstElement = numbers[0]; // 输出: 1

// 访问第三个元素
int thirdElement = numbers[2]; // 输出: 3
警告

注意:如果尝试访问超出数组范围的索引,将会抛出 ArrayIndexOutOfBoundsException 异常。

遍历数组

遍历数组是常见的操作,可以使用 for 循环或 for-each 循环来遍历数组。

使用 for 循环遍历数组

java
int[] numbers = {1, 2, 3, 4, 5};

for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}

使用 for-each 循环遍历数组

java
int[] numbers = {1, 2, 3, 4, 5};

for (int number : numbers) {
System.out.println(number);
}

多维数组

Java支持多维数组,最常见的是二维数组。二维数组可以看作是一个表格,有行和列。

声明和初始化二维数组

java
// 声明一个2行3列的二维数组
int[][] matrix = new int[2][3];

// 初始化二维数组
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
matrix[1][0] = 4;
matrix[1][1] = 5;
matrix[1][2] = 6;

遍历二维数组

java
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};

for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}

实际应用场景

数组在实际开发中有广泛的应用,以下是一些常见的应用场景:

1. 存储一组数据

数组可以用于存储一组相同类型的数据,例如存储学生的成绩、员工的工资等。

java
int[] scores = {85, 90, 78, 92, 88};

2. 矩阵运算

二维数组可以用于表示矩阵,进行矩阵运算,例如矩阵加法、乘法等。

java
int[][] matrixA = {
{1, 2},
{3, 4}
};

int[][] matrixB = {
{5, 6},
{7, 8}
};

int[][] result = new int[2][2];

for (int i = 0; i < matrixA.length; i++) {
for (int j = 0; j < matrixA[i].length; j++) {
result[i][j] = matrixA[i][j] + matrixB[i][j];
}
}

3. 排序和搜索

数组可以用于排序和搜索算法,例如冒泡排序、二分搜索等。

java
int[] numbers = {5, 3, 8, 1, 2};

// 冒泡排序
for (int i = 0; i < numbers.length - 1; i++) {
for (int j = 0; j < numbers.length - 1 - i; j++) {
if (numbers[j] > numbers[j + 1]) {
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}

// 输出排序后的数组
for (int number : numbers) {
System.out.print(number + " ");
}

总结

数组是Java中最基本的数据结构之一,用于存储相同类型的元素。数组的大小在创建时确定,并且不能动态改变。通过索引可以访问数组中的元素,数组可以是一维的,也可以是多维的。数组在实际开发中有广泛的应用,例如存储一组数据、矩阵运算、排序和搜索等。

附加资源

提示

练习:尝试编写一个Java程序,使用数组存储10个整数,并计算它们的平均值。