Вопрос-ответ

Syntax for creating a two-dimensional array in Java

Синтаксис для создания двумерного массива в Java

Рассмотрим:

int[][] multD = new int[5][];
multD[0] = new int[10];

Таким образом вы создаете двумерный массив с 5 строками и 10 столбцами?

Я видел этот код в Интернете, но синтаксис не имел смысла.

Переведено автоматически
Ответ 1

Попробуйте следующее:

int[][] multi = new int[5][10];

... который является сокращением для чего- то подобного:

int[][] multi = new int[5][];
multi[0] = new int[10];
multi[1] = new int[10];
multi[2] = new int[10];
multi[3] = new int[10];
multi[4] = new int[10];

Обратите внимание, что каждый элемент будет инициализирован значением по умолчанию для int, 0 , поэтому приведенные выше значения также эквивалентны:

int[][] multi = new int[][] {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};

... или, более кратко,

int[][] multi = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
Ответ 2

Мы можем объявить двумерный массив и непосредственно сохранять элементы во время его объявления как:

int marks[][]={{50,60,55,67,70},{62,65,70,70,81},{72,66,77,80,69}};

Здесь int представляет элементы целочисленного типа, хранящиеся в массиве, а имя массива - 'marks'. int - это тип данных для всех элементов, представленных внутри фигурных скобок "{" и "}", поскольку массив представляет собой набор элементов, имеющих один и тот же тип данных.

Возвращаясь к нашему заявлению, написанному выше: каждая строка элементов должна быть заключена в фигурные скобки. Строки и элементы в каждой строке должны быть разделены запятыми.

Теперь обратите внимание на инструкцию: вы можете получить 3 строки и 5 столбцов, таким образом, JVM создает 3 * 5 = 15 блоков памяти. Эти блоки могут быть по отдельности обозначены как:

marks[0][0]  marks[0][1]  marks[0][2]  marks[0][3]  marks[0][4]
marks[1][0] marks[1][1] marks[1][2] marks[1][3] marks[1][4]
marks[2][0] marks[2][1] marks[2][2] marks[2][3] marks[2][4]



ПРИМЕЧАНИЕ:

Если вы хотите сохранить n элементов, то индекс массива начинается с нуля и заканчивается на n-1.
Другой способ создания двумерного массива - сначала объявить массив, а затем выделить для него память с помощью оператора new .

int marks[][];           // declare marks array
marks = new int[3][5]; // allocate memory for storing 15 elements

Объединив два вышеперечисленных метода, мы можем написать:

int marks[][] = new int[3][5];
Ответ 3

Вы можете создавать их точно так, как упоминали другие. Следует добавить еще один момент: вы даже можете создать искаженный двумерный массив с каждой строкой, необязательно имеющий одинаковое количество столбцов, как это:

int array[][] = new int[3][];
array[0] = new int[3];
array[1] = new int[2];
array[2] = new int[5];
Ответ 4

Наиболее распространенной идиомой для создания двумерного массива с 5 строками и 10 столбцами является:

int[][] multD = new int[5][10];

В качестве альтернативы вы могли бы использовать следующее, которое больше похоже на то, что у вас есть, хотя вам нужно явно инициализировать каждую строку:

int[][] multD = new int[5][];
for (int i = 0; i < 5; i++) {
multD[i] = new int[10];
}
java