Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Корректное выражение выглядит так:
new String[]{firstName, lastName}
Что является некоторой смесью выражения, создающего массивы с помощью new, и инициализатора. Длина массива определяется количеством указанных значений.
Многомерные массивы
Теперь перейдем к рассмотрению многомерных массивов. Так, в следующем примере
inti[][]=newint[3][5];
переменная i ссылается на двумерный массив, который можно представить себе в виде таблицы 3x5. Суммарно в таком массиве содержится 15 элементов, к которым можно обращаться через комбинацию индексов от (О, 0) до (2, 4). Пример заполнения двумерного массива через цикл:
int pithagor_table[][]=new int[5][5]; for (int i=0; i<5; i++) { for (int j=0; j<5; j++) {
pithagor_table[i][j]=i*j;
System.out.print(pithagor_table[i][j]+ "\П;
}
System.out.println();
}
Результатом выполнения программы будет:
0 0 0 0 0 0 12 3 4 0 2 4 6 8 О 3 6 9 12 0 4 8 12 16
Однако такой взгляд на двумерные и многомерные массивы является неполным. Более точный подход заключается в том, что в Java нет двумерных, и вообще многомерных массивов, а есть массивы, базовыми типами которых являются также массивы. Например, тип int[] означает "массив чисел", a int[][] означает "массив массивов чисел". Поясним такую точку зрения.
Если создать двумерный массив и определить переменную х, которая На него ссылается, то, используя х и два числа в паре квадратных скобок Каждое (например, х[0][0]), можно обратиться к любому элементу двумерного массива. Но в то же время, используя х и одно число в паре ква-ДРатных скобок, можно обратиться к одномерному массиву, который является элементом двумерного массива. Его можно проинициализировать н°вым массивом с некоторой другой длиной и таблица перестанет быть прямоугольной - она примет произвольную форму. В частности, можно одному из одномерных массивов присвоить даже значение null.
int x[][]=new int[3][5]; // прямоугольная таблица x[0]=new int[7]; x[1]=new int[0]; x[2]=null;
После таких операций массив, на который ссылается переменная х, назвать прямоугольным никак нельзя. Зато хорошо видно, что это просто набор одномерных массивов или значений null.
Полезно подсчитать, сколько объектов порождается выражением new int[3][5]