用Java声明二维数组

Shu*_*Raj 3 javac

以下是合法的数组声明:

int i[][];
int []j[];
int [][]k;
int[][] l;
Run Code Online (Sandbox Code Playgroud)

但是如果我们在一行中声明数组,我们就会收到SYNTAX错误

int [] []i, []j[], k[], l[][];

ERROR: Syntax Error.
Run Code Online (Sandbox Code Playgroud)

为什么会显示此行为?

Psh*_*emo 7

问题在这里

int [] []i, []j[], k[], l[][];
            ^^
Run Code Online (Sandbox Code Playgroud)

,声明部分之后的Java中,您可以在其之后声明具有新的附加维度的新变量,而不是之前的声明

int a, b[], c[][];
Run Code Online (Sandbox Code Playgroud)

是可能的,它是相同的

int a;
ing[] b;
int[][] c;
Run Code Online (Sandbox Code Playgroud)

int a, []b; 
Run Code Online (Sandbox Code Playgroud)

是不正确的.

jls-8.3

通过使用多个声明符,可以在单个字段声明中声明多个字段; FieldModifiers和Type适用于声明中的所有声明符.

声明的字段类型由字段声明中显示的Type表示,后跟声明符中Identifier 之后的任何括号对.

其他信息可在10.2中找到.数组变量