Начиная с начала объявления массивов, как описано выше.
Вы можете создать массив, указав:
int [] arr = new int[3]; //(eq 1)
Вы можете сделать еще один шаг, объявив значения в массиве с помощью:
int [] arr = {0,1,2}; //(eq 2)
Если вы знаете свои значения заранее, вам не нужно создавать экземпляр int [].
Теперь к вашему вопросу. Как утверждают другие, между ними нет никакой разницы, за исключением более четкой картины того, что вы делаете. Эквивалент уравнения 2 в двумерном массиве:
int [][] arr = {{0,1,2},{3,4,5},{6,7,8}}; //(eq 3)
Обратите внимание, что вам не нужно объявлять "new int [] []" перед тем, как вы начнете вводить значения. «{0,1,2}» - это сам массив, как и все остальное в первом «{» и последнем} »в уравнении 3. Фактически, после объявления arr, вы можете вызвать массив« {0,1 , 2} "из уравнения 3 следующим утверждением:
arr[0]; //(eq 4)
eq 4 эквивалентно eq 2. Вы можете переключить простое "{" с помощью "new int [] {" или "new int [] [] {". Если вы хотите поменять одно на другое, это нормально, и единственная реальная разница - погода или нет, она подходит вашему стилю кодирования.
Для забавы, вот пример трехмерного массива с коротким синтаксисом:
// Это действительно длинное утверждение, и я не рекомендую использовать его таким образом
int [][][] arr = {{{0,1,2},{3,4,5},{6,7,8}},
{{9,10,11},{12,13,14},{15,16,17}},
{{18,19,20},{21,22,23},{24,25,26}}};