在C/ c++中

int arr[10] = {0};

...将所有数组元素初始化为0。

Java中有类似的快捷方式吗?

我想避免使用循环,可以吗?

int arr[] = new int[10];
for(int i = 0; i < arr.length; i++) {
    arr[i] = 0;
}

当前回答

将数组声明为类中的实例变量,即在每个方法之外,JVM将给它0作为默认值。你不必再担心了

其他回答

在java中,所有元素(原始整数类型字节短,整型,长)默认初始化为0。你可以保存循环。

虽然其他答案是正确的(int数组值默认初始化为0),如果你想显式地这样做(例如,如果你想用值42填充数组),你可以使用Arrays类的fill()方法:

int [] myarray = new int[num_elts];
Arrays.fill(myarray, 42);

或者如果你喜欢使用1-行程序,你可以使用Collections.nCopies()例程:

Integer[] arr = Collections.nCopies(3, 42).toArray(new Integer[0]);

将为arr赋值:

[42, 42, 42]

(虽然它是Integer,而不是int,如果你需要原始类型,你可以遵循Apache Commons ArrayUtils.toPrimitive()例程:

int [] primarr = ArrayUtils.toPrimitive(arr);

你在你的问题中正确地定义了它,它几乎与c++相同。对于基元数据类型,您需要做的就是初始化数组。默认值是int 0。

int[] intArray = new int[10];

将数组声明为类中的实例变量,即在每个方法之外,JVM将给它0作为默认值。你不必再担心了

你可以保存循环,初始化已经被设为0。即使是局部变量。

但是为了可读性(公认的最佳实践),请更正您放置括号的位置:

int[] arr = new int[10];