在Java编程中,数组是一种基础且重要的数据结构,它用于存储固定数量的同类型元素,掌握数组的使用是学习Java的核心技能之一,本文将从数组的基本概念、声明与初始化、访问与操作、多维数组及应用场景等方面,详细讲解如何在Java中使用数组。

数组的基本概念
数组是一组连续存储的相同类型元素的集合,每个元素通过索引(从0开始)进行访问,数组的长度在创建时确定,后续不可改变,这使得数组在存储固定数量数据时具有高效性和随机访问的优势,存储一个班级的10名学生的成绩,可以使用长度为10的整型数组。
数组的声明与初始化
在Java中,数组的声明需要指定数组元素类型和数组名称,初始化则为数组分配内存空间并赋值。
声明数组
数组的声明有两种语法格式,推荐使用元素类型[] 数组名的方式,更符合Java的规范:
int[] scores; // 声明一个整型数组,名为scores String[] names; // 声明一个字符串数组,名为names
初始化数组
初始化分为静态初始化和动态初始化两种方式:
- 静态初始化:在声明数组时直接指定元素值,系统自动计算数组长度:
int[] scores = {85, 90, 78, 92, 88}; // 长度为5的整型数组 String[] names = {"张三", "李四", "王五"}; // 长度为3的字符串数组 - 动态初始化:先声明数组,再通过
new关键字分配内存空间并指定长度,之后单独赋值:int[] scores = new int[5]; // 分配长度为5的整型数组,默认值为0 scores[0] = 85; // 为第1个元素赋值 scores[1] = 90; // 为第2个元素赋值
数组的访问与操作
数组的核心操作包括通过索引访问元素、修改元素、遍历数组以及获取数组长度。

访问与修改元素
通过索引(从0开始)可以访问或修改数组中的元素,注意索引不能超出数组范围(0到数组长度-1),否则会抛出ArrayIndexOutOfBoundsException异常:
int[] arr = {10, 20, 30};
int firstElement = arr[0]; // 访问第1个元素,值为10
arr[1] = 25; // 修改第2个元素为25,数组变为{10, 25, 30}
遍历数组
遍历数组是处理每个元素的常用操作,主要有两种方式:
- for循环遍历:通过索引逐个访问元素,适合需要操作索引的场景:
for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } - 增强for循环(for-each):简化遍历语法,直接获取元素值,无需关心索引:
for (int num : arr) { System.out.println(num); }
获取数组长度
数组长度通过.length属性获取,这是一个 final 变量,不可修改:
int length = arr.length; // 获取数组长度
多维数组
多维数组是数组的数组,最常用的是二维数组,可以看作“表格”结构(行和列)。
声明与初始化二维数组
- 静态初始化:直接指定行和列的元素值:
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 3行3列的矩阵 - 动态初始化:先指定行数和列数,再赋值:
int[][] matrix = new int[3][3]; // 3行3列的矩阵,默认值为0 matrix[0][0] = 1; // 第1行第1列赋值为1
访问二维数组元素
通过行索引[列索引]访问元素,例如matrix[1][2]表示第2行第3列的元素:

int element = matrix[1][2]; // 值为6(第二行是{4,5,6})
数组的应用场景
数组在Java开发中有广泛的应用,以下为常见场景:
- 存储固定数量的数据:如学生成绩、商品价格等,当数据量固定时,数组是最简单高效的选择。
- 作为函数参数或返回值:计算数组元素的平均值,接收数组参数并返回结果:
public double average(int[] arr) { int sum = 0; for (int num : arr) { sum += num; } return (double) sum / arr.length; } - 配合集合使用:虽然Java集合(如ArrayList)更灵活,但数组可作为集合的底层实现,或用于数据转换(如
Arrays.asList)。
常见注意事项
- 数组长度固定:Java数组一旦创建,长度不可改变,若需要动态扩容,应使用
ArrayList等集合类。 - 避免数组越界:访问元素时确保索引在有效范围内(0到
length-1),否则会抛出异常。 - null指针异常:若数组未初始化(如
int[] arr = null;)直接访问元素,会抛出NullPointerException。 - 数组元素类型一致:数组只能存储同类型元素,例如
int[]不能直接存储String类型。
数组是Java中基础且重要的数据结构,掌握其声明、初始化、访问和操作方法,是编写高效Java程序的前提,通过合理使用数组,可以简洁地处理固定数量的数据,并为后续学习集合、算法等知识打下坚实基础,在实际开发中,需结合场景选择数组或集合类,扬长避短,以提升代码质量和性能。















