数组初始化器可以用于在编译时初始化数组。如下所示带有尾随逗号的初始化器可以正常编译。
int a[][] = {{1,2,} ,{3,4,} , {5,6,},}; //Trailing commas cause no compiler error
for(int i=0;i<a.length;i++)
{
for(int j=0;j<2;j++)
{
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
输出:
1 2
3 4
5 6
与上述讨论中一维数组一样,对于一个维度的数组也是合法的。
int[] b = {1, 2, 3, 4, 5, 6,}; //A trailing comma causes no compiler error
for(int i=0;i<b.length;i++)
{
System.out.print(b[i]+"\t");
}
输出:
1 2 3 4 5 6
即使以下语法是合法的并且可以编译通过。
int c[][] = {{,} ,{,} , {,},};
编译器应该在逗号
,
前后期望一个常量值(或另一个初始化程序)。这是如何编译的?编译器会忽略这样的逗号,还是在这种情况下会发生其他事情?
x && \\y
而不是x \\ && y
;或者英语中你也会把标点留在行末);但它有助于重新排序和添加结尾的内容。像往常一样,解决问题有多种方案,具有不同的权衡。 - Voo