Here's an excerpt from my notes...
When declaring an Array, the identifier can appear anywhere amid the pairs of brackets denoting the dimension (but not enclosed within brackets). For example...
String s[][];
String []s[];
String [][]s;
When an Array of a given type and dimension is declared, any subsequent identifiers on that line can add dimensions -- provided that the brackets indicating the additional dimensions come after the associated identifier.
int[][]a, b, c[];
In the above declaration, a and b are both declared as 2-dimensional Arrays, while c adds a dimension to become a 3-dimensional Array.
Note, however, that in the declaration below, d is a 2-dimensional Array (an Object), while e remains a primitive int.
int d[][], e;