Ниже приведена очевидная и обычная декларация и инициализация массива в Java.
int r[], s[]; //<-------
r=new int[10];
s=new int[10];
Очень похожий случай ведет себя по-разному, когда позиция []
изменяется в заявлении объявления, как показано ниже.
int []p, q[]; //<-------
p=new int[10];
q=new int[10][10];
Пожалуйста, ознакомьтесь с декларацией. Положение []
изменено с r[]
на []p
. В этом случае массив q
ведет себя как массив массивов типа int
(который полностью отличается от предыдущего).
Вопрос: Почему q
, в этом объявлении int []p, q[];
рассматривается как двухмерный массив?
Дополнительная информация:
Следующий синтаксис выглядит неуловимым.
int []a[];
Это, однако, соответствует тонкому и ведет себя как int a[][];
или int [][]a;
.
Следовательно, все случаи действительны.
int [][]e[][][];
int [][][][][]f[][][][];