Java一维数组的创建、初始化和使用(非常详细,附带实例)
在 Java 编程语言中,一维数组是一种存储相同数据类型元素的线性数据结构,对数组的操作主要包括创建、访问、修改、遍历、排序、复制、填充、转换为字符串等基本操作,以及一些进阶操作,如查找、删除、插入元素等。
一维数组的创建一般有以下两种方式。
【实例】创建一维数组,代码如下:
为数组分配内存的语法如下:
【实例】为一维数组分配内存,代码如下:

图 1 一维数组内存图
在图 1 中,arr 代表的是数组的名称,中括号“[ ]”中的值代表的是下标,数组通过下标来获取数组的元素。数组的下标从 0 开始,由于我们创建的数组个数为 4,所以下标为 0~3。
为数组分配内存,整型数组中每个元素的初始值为 0。
【实例】声明一维数组并同时分配内存,代码如下:
数组的初始化有两种方式,分别是静态初始化和动态初始化。
【实例】一维数组的静态初始化,代码如下:
【实例】一维数组的动态初始化,代码如下:
一维数组的初始化对确保程序正确运行至关重要。正确初始化数组可以避免出现未初始化的变量错误,并为后续对数组的操作提供可靠的数据基础。同时,根据不同的需求选择合适的初始化方式,可以提高程序的可读性和可维护性。
【实例】在项目中创建 AccessDemo 类,在主方法中创建 int 数组,并实现访问该数组的元素,代码如下:
【实例】在项目中创建 LengthDemo 类,在主方法中创建 int 数组,并实现获取元素的长度,代码如下:
length 是最终变量,意味着它的值不能被修改。一旦数组被创建,其长度就固定了。此外,length 的值总是大于或等于零。如果尝试访问一个负数索引以及大于或等于 length 的索引,就会抛出 ArrayIndexOutOfBoundsException 异常。
遍历数组常见的方式分为以下两种:
① 用传统 for 循环进行遍历。使用一个循环变量,从 0 开始,逐步递增,直到数组长度减 1,以访问数组中的每个元素。
【实例】在项目中创建 ErgodicDemo 类,在主方法中创建 int 数组,并实现获取每一个元素,代码如下:
② 用增强 for 循环进行遍历。增强 for 循环可以更简捷地遍历数组,不需要显式处理索引。它自动遍历数组中的每个元素,并将其赋值给一个循环变量。
【实例】在项目中创建 ErgodicDemo 类,在主方法中创建 int 数组,并实现获取每一个元素,代码如下:
如果在遍历过程中需要修改数组元素的值,那么传统的 for 循环可能更合适,因为可以通过索引直接访问和修改元素,而增强 for 循环是只读的,不能用于修改数组元素。
Java一维数组的创建
在 Java 编程语言中,一维数组的声明方式为指定数据类型和数组变量名。数组可以被当作一个对象,使用关键字 new 分配内存。一维数组的创建一般有以下两种方式。
1) 先声明,使用关键字new分配内存
语法结构如下:数组元素类型[] 数组名称; 数组元素类型 数组名称[];数组元素类型代表的是整个数组的类型,数组的类型既可以是基本类型,又可以是引用类型,一个“[]”代表的是一维数组。数组名称必须符合命名规范,必须合法。
【实例】创建一维数组,代码如下:
int[] arr[]; //声明int类型数组,数组中每一个元素都是int类型的数组,只能是int类型的数据 Integer arrInt[]; //声明Integer数组,数组中每一个元素都是Integer类型的数组,只能是Integer类型的数据当只创建而未分配内存时,仅是告诉编译器有一个特定类型的数组将会被使用,此时并没有为数组实际分配存储空间。如果没有分配内存,那么数组是不能被访问的,可以手动为数组分配内存,指定数组的长度。
为数组分配内存的语法如下:
数组名称 = new 数组元素的类型[数组的个数]数组的名称其实就是数组变量的名称;数组的个数其实就是数组的长度。
【实例】为一维数组分配内存,代码如下:
arr = new int[4];现在,arr 数组被分配了可以存储 4 个整数的连续内存空间,如下图所示:

图 1 一维数组内存图
在图 1 中,arr 代表的是数组的名称,中括号“[ ]”中的值代表的是下标,数组通过下标来获取数组的元素。数组的下标从 0 开始,由于我们创建的数组个数为 4,所以下标为 0~3。
为数组分配内存,整型数组中每个元素的初始值为 0。
2) 在声明的同时,为数组分配内存
语法结构如下:数组元素类型[] 数组名称 = new 数组元素的类型[数组的个数];
【实例】声明一维数组并同时分配内存,代码如下:
int array = new int[3];程序创建的数组指定长度是 3,这种创建方式是最普遍的。
Java一维数组的初始化
一维数组的初始化是创建数组并赋予其初始值的过程。数组的初始化和基本数据类型的初始化基本是一致的。数组的初始化有两种方式,分别是静态初始化和动态初始化。
1) 静态初始化
在声明数组的同时,使用花括号括起来的初始化列表来为数组元素指定初始值。语法结构如下:数组元素类型[] 数组名称={元素1,元素2,元素3,…}; 数组元素类型 数组名称[] = new 数组元素类型[]{元素1,元素2,元素3,…};
【实例】一维数组的静态初始化,代码如下:
int array={1,2,3,4,5}; int array01 = new int[]{1,2,3,4,5};静态初始化,将元素使用逗号隔开,存放在花括号内,编译器根据初始化列表中的元素个数自动确定数组的大小。
2) 动态初始化
使用关键字 new 来分配内存空间,并在花括号内指定数组的大小,但不直接给出具体的元素值。后续可以通过索引逐一为数组元素赋值。语法结构如下:数组元素类型[] 数组名称 = new 数组元素类型[数组的个数]; 数组名称[下标] = 数组元素值;
【实例】一维数组的动态初始化,代码如下:
int[] trends = new int[3]; int[0] = 1; int[1] = 2; int[2] = 3;动态初始化在运行时确定数组的大小,更加灵活,适用于在程序运行过程中动态确定数组大小的情况。
一维数组的初始化对确保程序正确运行至关重要。正确初始化数组可以避免出现未初始化的变量错误,并为后续对数组的操作提供可靠的数据基础。同时,根据不同的需求选择合适的初始化方式,可以提高程序的可读性和可维护性。
Java一维数组的使用
1) 访问元素
通过索引来访问一维数组中的元素。数组的索引从 0 开始,到数组长度减 1 结束。【实例】在项目中创建 AccessDemo 类,在主方法中创建 int 数组,并实现访问该数组的元素,代码如下:
public class AccessDemo { public static void main(String[] args) { int[] array = {10, 20, 30, 40}; int firstArray = array[0]; //访问到第一个数组元素为:10 System.out.println("访问到第一个数组元素为:" + firstArray); int lastArray = array[array.length - 1]; //访问到最后一个数组元素为40 System.out.println("访问到最后一个数组元素为:" + lastArray); } }程序运行结果为:
访问到第一个数组元素为:10
访问到最后一个数组元素为:40
2) 获取数组的长度
在 Java 编程语言中,一维数组的长度可以通过数组对象的 length 属性来获取。【实例】在项目中创建 LengthDemo 类,在主方法中创建 int 数组,并实现获取元素的长度,代码如下:
public class LengthDemo { public static void main(String[] args) { int[] array = {10, 20, 30, 40}; //获取到数组的长度 int length = array.length; System.out.println(length); } }程序运行结果为:
4
上述代码定义了一个整数类型的一维数组 array,然后通过 array.length 获取数组的长度,并打印输出为 4。length 是最终变量,意味着它的值不能被修改。一旦数组被创建,其长度就固定了。此外,length 的值总是大于或等于零。如果尝试访问一个负数索引以及大于或等于 length 的索引,就会抛出 ArrayIndexOutOfBoundsException 异常。
3) 遍历数组元素
在 Java 编程语言中,遍历一维数组是一种常见操作,用于逐个访问数组中的元素。遍历数组常见的方式分为以下两种:
① 用传统 for 循环进行遍历。使用一个循环变量,从 0 开始,逐步递增,直到数组长度减 1,以访问数组中的每个元素。
【实例】在项目中创建 ErgodicDemo 类,在主方法中创建 int 数组,并实现获取每一个元素,代码如下:
public class ErgodicDemo { public static void main(String[] args) { int[] array = {10, 20, 30, 40, 50, 60}; for (int arrayy) { System.out.println(arr); } } }程序运行结果为:
10
20
30
40
50
60
② 用增强 for 循环进行遍历。增强 for 循环可以更简捷地遍历数组,不需要显式处理索引。它自动遍历数组中的每个元素,并将其赋值给一个循环变量。
【实例】在项目中创建 ErgodicDemo 类,在主方法中创建 int 数组,并实现获取每一个元素,代码如下:
public class ErgodicDemo { public static void main(String[] args) { int[] array = {50, 20, 30, 40}; for (int arr : array) { System.out.println(arr); } } }程序运行结果为:
50
20
30
40
如果在遍历过程中需要修改数组元素的值,那么传统的 for 循环可能更合适,因为可以通过索引直接访问和修改元素,而增强 for 循环是只读的,不能用于修改数组元素。