如何声明、创建、初始化和访问 Java 数组?数组是一个容器对象,用于保存一组同类型的元素(类型可以是整数、浮点数、长整型等)。这意味着我们不能存储多种数据类型的值。
Java 编程语言中的场景:在我们之前的文章中,我们看到了变量的声明和初始化,对于初始化少量变量来说它们非常好。如果我们想存储 100 位员工的工资呢?创建 100 个变量并赋值是否值得?如果有 150 位员工呢?为了处理这类情况,引入了数组的概念。
例如,一个整数数组将存储所有整数元素。如果您尝试插入浮点数或字符值,它将抛出错误。它的长度在创建时确定。一旦创建,长度就是固定的。Java 编程中有 3 种类型的数组。
Java 数组声明或语法
以下代码片段将向您展示声明数组的最基本方法
Data_Type[] Array_Name;
- 数据类型:它将决定数组可以接受的元素类型。例如,如果我们想存储整数值,则数据类型声明为 int。要存储浮点值,数据类型为 float
- 数组名称:这是您要给的名称。例如,students、age、marks、emp。
同样,您可以声明剩余类型的一维数组,如下所示
int [] anIntegerArray; byte[] anByteArray; short[] anShortArray; long[] anLongArray; float[] anFloatArray; double[] anDoubleArray; boolean[] anBooleanArray; char[] anCharArray; String[] anStringArray;
创建 Java 数组
要创建数组,我们必须使用 New 运算符。
Data_Type[] Array_Name = new Array_Name[Array_Size];
数组大小:它可以容纳或存储的元素数量。例如,如果 Array_Size = 10,它将容纳 10 个值。
如果您已经初始化了一个数组,那么
int [] anIntegerArray; // Declaration // Crating it anIntegerArray = new int[10];
例如,int[] Student_Marks = new int[10];
- 我们使用 int 作为数据类型来声明数组。因此,上面的数组只接受整数。如果我们尝试添加浮点值,它将抛出错误。
- Student_Age 是名称。
- 它的大小是十。这意味着 Student_Marks 只接受十个整数值。
- 如果我们尝试存储超过十个值,它会抛出错误。
- 我们可以存储少于 10 个值。例如,如果我们存储三个整数值,则剩余的两个将被初始化为默认值(0)。
Java 数组初始化第一种方法
有多种方法可以初始化它们,这是在此编程中声明和创建一维数组的第一种方法。
int[] Student_Marks = new int[3];
以更传统的方式初始化元素
Student_Marks[0] = 15; // Initializing First elements at position 0 Student_Marks[1] = 45; // Initializing elements at position 1 Student_Marks[2] = 65; // First elements at position 2
创建数组的第二种方法
在这种方法中,我们在声明时即初始化数组。
int[] anIntegerArray = {15, 25, 35, 45, 55}
在这里,我们没有指定大小。但是,Javac 很聪明,可以通过检查元素数量来确定大小。
创建数组的第三种方法
虽然这种方法可以正常工作,但它不是 Java 编程 中推荐的初始化方法。
int Employees[ ] = {1, 2, 3, 4, 5}
Java 数组初始化的第四种方法
上述 3 种方法适用于在数组中存储少量项。如果我们想存储 50、100 或更多值怎么办?使用上述任何一种方法添加所有这些都将是折磨。为了解决这个问题,我们可以使用循环概念来存储数据。
int i, Employees[100];
for (i =0; i < 100 ; i++)
{
Employees[i] = i * 2;
}
提示:要存储元素,我们可以使用 For 循环、While 循环 和 Do While 循环
创建数组的第五种方法
Java 编程语言中创建数组的第五种方法包括声明和初始化一些值。
int[] anIntegerArray = new int[5];
anIntegerArray[0] = 10;
anIntegerArray[1] = 20;
anIntegerArray[2] = 30;
这里我们声明了一个大小为 5 的 anIntegerArray 数组,但只为其分配了三个值。在这种情况下,其余值被分配为默认值(此处为 0)。
上面的数组将是
anIntegerArray[0] = 10
anIntegerArray[1] = 20
anIntegerArray[2] = 30
anIntegerArray[3] = 0
anIntegerArray[4] = 0
访问 Java 数组元素
我们使用索引位置来访问数组元素。我们可以使用方括号内的索引来访问或修改/更改项目。索引值从 0 开始,到 n-1 结束,其中 n 是大小或长度。
例如,如果它存储十个元素,则数组索引从 0 开始,到 9 结束。要访问或修改第一个值,请使用 Array_Name[0],要访问或修改第十个值,请使用 Array_Name[10]。让我们看一个例子,以便更好地了解如何访问数组元素。
package ArrDefinitions;
public class ArrTest {
public static void main(String[] args) {
int[] anIntegerArray = {15, 25, 35, 45, 55, 65};
System.out.println(anIntegerArray[0]);
System.out.println(anIntegerArray[1]);
System.out.println(anIntegerArray[2]);
System.out.println(anIntegerArray[3]);
System.out.println(anIntegerArray[4]);
System.out.println(anIntegerArray[5]);
}
}
15
25
35
45
55
65
Java 数组示例
我们将声明一个大小为十的整数数组。然后我们将对这十个值求和并显示输出。
package ArrayDefinitions;
public class JavaArray {
public static void main(String[] args) {
int i, Sum =0;
int [] anIntegerArray = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
for(i = 0; i < anIntegerArray.length; i++) {
Sum = Sum + anIntegerArray[i];
System.out.format("Addition of %d to Sum = %d \n", anIntegerArray[i], Sum);
}
System.out.format("Sum of the elemts in anIntegerArray = %d \n", Sum);
}
}

在此数组示例程序中,我们声明了一个包含 10 个元素的一维 anIntegerArray[],并声明了 i 来迭代和访问元素,
int [] anIntegerArray = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
For 循环迭代 anIntegerArray[4] 中的每个数组元素。for 循环中的条件(i < anIntegerArray.length)将确保 Javac 不会超出限制。
- Sum = Sum + anIntegerArray[i]; 语句用于将 anIntegerArray 中存在的每个单独元素添加到 Sum 变量。
- System.out.format 语句在每次迭代后显示 Sum 值。
- anIntegerArray.length 查找它的长度。
Java 数组第一次迭代:i 的值为 0,条件 (i < 10) 为 True。因此,它将开始执行循环内的语句。
Sum = Sum + anIntegerArray[i]
=> Sum + anIntegerArray[0]
Sum = 0 + 10 = 10
i 的值将增加 1
第二次迭代:i 的值为 1,条件 (1 < 10) 为 True。
Sum = Sum + anIntegerArray[1] = 10 + 20 = 30
第三次迭代:增加后,i = 2,条件 (2 < 10) 为 True。
Sum += anIntegerArray[2]
=> 30 + 30 = 60
第四次迭代:i 的值为 3,条件 (3 < 5) 为 True。
Sum = 60 + 40 = 100
第五次迭代:i = 4,条件 (4 < 10) 为 True。
Sum = 100 + 50 = 150
Java 数组第六次迭代:i 为 5,条件 (5 < 10) 为 True。
Sum = 150 + 60 = 210
第七次迭代:增加后,i = 6,条件 (6 < 10) 为 True。
Sum = 210 + 70 = 280
第八次迭代:i = 7,条件 (7 < 10) 为 True。
Sum = 280 + anIntegerArray[7] => 280 + 80 = 360
第九次迭代:i 为 8,条件 (8 < 10) 为 True。
Sum = 360 + anIntegerArray[8] => 360 + 90 = 450
第十次迭代:i 为 9,条件 (9 < 10) 为 True。
Sum = Sum + anIntegerArray[9]
Sum = 450 + 100 = 550
第十一次迭代:i 的值为 10,条件 (10 < 10) 为 False。因此,它将退出 for 循环并转到最后一个语句。
最后,我们使用 System.out.format 语句来显示 Sum。