Java 数组初始化技术

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习在 Java 中初始化数组的不同方法。你还将学习如何使用 Scanner 类获取用户输入,如何使用嵌套循环初始化二维数组,如何在声明时初始化数组,以及如何使用 Arrays.fill()Arrays.setAll()ArrayUtils.clone() 等不同方法。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/BasicSyntaxGroup(["`Basic Syntax`"]) java(("`Java`")) -.-> java/DataStructuresGroup(["`Data Structures`"]) java(("`Java`")) -.-> java/ProgrammingTechniquesGroup(["`Programming Techniques`"]) java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java/BasicSyntaxGroup -.-> java/data_types("`Data Types`") java/BasicSyntaxGroup -.-> java/variables("`Variables`") java/BasicSyntaxGroup -.-> java/for_loop("`For Loop`") java/DataStructuresGroup -.-> java/arrays("`Arrays`") java/DataStructuresGroup -.-> java/arrays_methods("`Arrays Methods`") java/ProgrammingTechniquesGroup -.-> java/lambda("`Lambda`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("`User Input`") subgraph Lab Skills java/data_types -.-> lab-117460{{"`Java 数组初始化技术`"}} java/variables -.-> lab-117460{{"`Java 数组初始化技术`"}} java/for_loop -.-> lab-117460{{"`Java 数组初始化技术`"}} java/arrays -.-> lab-117460{{"`Java 数组初始化技术`"}} java/arrays_methods -.-> lab-117460{{"`Java 数组初始化技术`"}} java/lambda -.-> lab-117460{{"`Java 数组初始化技术`"}} java/user_input -.-> lab-117460{{"`Java 数组初始化技术`"}} end

声明和初始化数组

在初始化数组之前,我们必须知道如何声明数组。声明意味着定义变量名称以及将存储在数组中的元素的数据类型。声明数组的通用语法如下代码所示。

datatype[] variableName;

初始化数组是为数组元素设置初始值。我们可以使用下面解释的不同方法来初始化数组。

将所有数组元素初始化为零

要将数组的所有元素初始化为 0,我们只需要声明数组并使用 new 关键字将其初始化为所需的大小。Java 默认会将所有数组元素初始化为其默认值(整数为 0,字符串为 null,布尔值为 false 等)。

int[] intArray = new int[5];

逐个初始化数组元素

要逐个初始化数组的每个元素,我们可以使用 for 循环来初始化数组的索引。

int[] intArray = new int[5];
for(int i = 0; i < intArray.length; i++) {
    intArray[i] = i + 1;
}

在声明时初始化数组

我们可以通过一行代码同时声明并初始化数组。

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

使用 Scanner 类获取用户输入

要通过用户输入初始化数组,我们可以使用 Scanner 类从用户那里读取输入。

Scanner input = new Scanner(System.in);
System.out.print("Enter array length: ");
int length = input.nextInt();

int[] intArray = new int[length];
for(int i = 0; i < length; i++) {
    System.out.print("Enter element " + (i + 1) + ": ");
    intArray[i] = input.nextInt();
}
input.close();

初始化二维数组

我们可以使用嵌套循环来初始化二维数组。

int[][] intArray = new int[3][3];
for(int i = 0; i < intArray.length; i++) {
    for(int j = 0; j < intArray[i].length; j++) {
        intArray[i][j] = i + j;
    }
}

使用 Arrays.fill() 方法

我们可以使用 Arrays.fill() 方法将数组初始化为特定值。

int[] intArray = new int[5];
Arrays.fill(intArray, 5);

使用 Arrays.setAll() 方法

我们可以使用 Arrays.setAll() 方法,借助生成器函数(Generator Function)来初始化数组。

int[] intArray = new int[5];
Arrays.setAll(intArray, (index) -> index * index);

使用 ArrayUtils.clone() 方法

我们可以使用 ArrayUtils.clone() 方法来创建现有数组的副本。

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = ArrayUtils.clone(intArray);

使用 Arrays.copyOf() 方法

我们可以使用 Arrays.copyOf() 方法来创建现有数组的副本。

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = Arrays.copyOf(intArray, 8);

总结

在本实验中,你学习了在 Java 中初始化数组的不同方法,包括使用 for 循环、同时声明和初始化、使用 Scanner 类获取用户输入、在声明时初始化、使用 Arrays.fill()Arrays.setAll() 方法,以及使用 ArrayUtils.clone()Arrays.copyOf() 方法复制数组。现在,你可以根据程序需求选择多种方式来初始化数组。

您可能感兴趣的其他 Java 教程