在C/ c++中

int arr[10] = {0};

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

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

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

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

当前回答

如果你正在使用浮点或整数,那么你可以像这样分配默认值…

Integer[] data = new Integer[20];
Arrays.fill(data,new Integer(0));

其他回答

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

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

int[] arr = new int[10];

语言规范保证整型数组的默认值为0:

每个类变量、实例变量或数组组件在创建时都使用默认值初始化(§15.9,§15.10)[…]对于int类型,默认值为0,即0。

如果你想将一个一维数组初始化为不同的值,你可以使用java.util.Arrays.fill()(当然会在内部使用循环)。

如果你正在使用浮点或整数,那么你可以像这样分配默认值…

Integer[] data = new Integer[20];
Arrays.fill(data,new Integer(0));

您可以简单地执行以下操作

 int[] arrayOfZeros= new int[SizeVar];
    int a=7, b=7 ,c=0,d=0;
    int dizi[][]=new int[a][b];
    for(int i=0;i<a;i++){
        for(int q=d;q<b;q++){
            dizi[i][q]=c;               
            System.out.print(dizi[i][q]);
            c++;
        }

        c-=b+1;
        System.out.println();               
    }

结果 0123456 -1012345 2 - 101234 3-2-10123 4-3-2-1012 5-4-3-2-101 6-5-4-3-2-10