在 Java 中将所有数组元素初始化为零
本文介绍了如何在 Java 中将所有数组元素初始化为零的程序。你会找到有用的示例代码来指导你完成此过程。
在 Java 中,数组保存类似类型的数据。该对象在运行时由编译器初始化;它的值取决于数组的类型——这意味着整数数组将被初始化为 0,而字符串数组将为空。在这个例子中,我们将使用 fill()
和 nCopies()
等方法以及一些自定义代码将数组元素初始化为零。
在 Java 中将数组元素初始化为零
默认情况下,在 Java 中,int、short、byte 和 long 数组等数据类型初始化为 0。因此,如果你创建这些类型的新数组,则无需将它们初始化为零,因为这已经是它们的默认设置。在下面的示例中,我们创建了两个具有 int
和 byte
类型的数组,并看到它们的默认值为零。
public class SimpleTesting{
public static void main(String[] args) {
int arr[] = new int[2];
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
byte barr[] = new byte[2];
for (int i = 0; i < barr.length; i++) {
System.out.println(barr[i]);
}
}
}
输出:
0
0
0
0
使用 Java 中的 fill()
方法将数组元素初始化为零
如果一个数组已经有元素并且你想用 0 初始化它,你应该使用 Arrays
类的 fill()
方法来填充数组的指定值。请参考下面的示例:
import java.util.Arrays;
public class SimpleTesting{
public static void main(String[] args) {
int arr[] = new int[] {12,23,45,58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
Arrays.fill(arr, 0);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
输出:
12
23
45
58
Array after initialize to zero
0
0
0
0
使用 Java 中的 nCopies()
方法将数组元素初始化为零
在这里,我们使用了 Collections
类的 nCopies()
方法来创建数组的副本,而 toArray()
方法将元素转换为整数数组。请参考下面的示例:
import java.util.Collections;
public class SimpleTesting{
public static void main(String[] args) {
int arr[] = new int[] {12,23,45,58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
Integer[] arr2 = Collections.nCopies(arr.length, 0).toArray(new Integer[0]);
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
}
输出:
12
23
45
58
Array after initialize to zero
0
0
0
0
在 Java 中通过重新分配将数组元素初始化为零
这种方法是一种新的棘手解决方案,我们创建一个具有相同大小和类型的新数组,然后将其引用分配给原始数组,从而重置原始数组。结果,所有元素都被初始化为 0。这是一个例子:
public class SimpleTesting{
public static void main(String[] args) {
int arr[] = new int[] {12,23,45,58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
int[] arr2 = new int[4];
arr = arr2;
System.out.println("Array after initialize to zero");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
输出:
12
23
45
58
Array after initialize to zero
0
0
0
0
使用 Java 中的 for
循环将数组元素初始化为零
这个过程是我们使用 for
循环的较旧和最不推荐的方法之一。在每次迭代中,我们为数组的每个索引分配 0,使数组的所有元素初始化为 0。检查此代码块作为示例:
public class SimpleTesting{
public static void main(String[] args) {
int arr[] = new int[] {12,23,45,58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
for (int i = 0; i < arr.length; i++) {
arr[i] = 0;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
输出:
12
23
45
58
Array after initialize to zero
0
0
0
0
相关文章
Do you understand JavaScript closures?
发布时间:2025/02/21 浏览次数:108 分类:JavaScript
-
The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.
Do you know about the hidden traps in variables in JavaScript?
发布时间:2025/02/21 浏览次数:178 分类:JavaScript
-
Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av
How much do you know about the Prototype Chain?
发布时间:2025/02/21 浏览次数:150 分类:JavaScript
-
The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串
在 Python Pandas 中使用 str.split 将字符串拆分为两个列表列
发布时间:2024/04/24 浏览次数:1124 分类:Python
-
本教程介绍如何使用 pandas str.split() 函数将字符串拆分为两个列表列。
在 Pandas 中执行 SQL 查询
发布时间:2024/04/24 浏览次数:1195 分类:Python
-
本教程演示了在 Python 中对 Pandas DataFrame 执行 SQL 查询。
在 Pandas 中使用 stack() 和 unstack() 函数重塑 DataFrame
发布时间:2024/04/24 浏览次数:1289 分类:Python
-
本文讨论了 Pandas 中 stack() 和 unstack() 函数的使用。
在 Pandas 中读取 Excel 多张工作表
发布时间:2024/04/24 浏览次数:1450 分类:Python
-
本教程演示如何在 Pandas Python 中从 Excel 工作簿中读取多个 Excel 工作表。