Составители:
Рубрика:
42
впечатление: прикрепление ссылки к массиву другой длины может
быть воспринято как изменение его длины, тогда как в действительно-
сти происходит связывание с другим объектом.
Объектная природа массивов подтверждается наличием у них ме-
тода toString() – одного из методов класса java.lang.Object – класса-
прообраза всех других классов. При попытке «распечатать» массив
целиком, а не поэлементно,
int array[]= {2, 4, 7, 11, 3, 9, 1};
System.out.println(array);
получится строка вида
[I@42e816
характерная для строк-идентификаторов объектов класса
java.lang.Object. Для того, чтобы распечатать элементы массива, необ-
ходимо обращаться к каждому из них. Например, так:
int array[]= {2, 4, 7, 11, 3, 9, 1};
String s=””;
for(int i=0; i<array.length; i++) s+=array[i]+”
“;
System.out.println(s);
5.5 Многомерные массивы
Многомерные массивы в Java определяются как массивы массивов.
Объявление многомерного массива:
float[][] matrix;
Создание многомерного массива:
matrix=new float[10][10];
Инициализация многомерного массива:
matrix[0][0]=1.7;matrix[0][1]=4.5;
и так далее.
Можно заполнять массивы в циклах.
В следующей программе приведен пример создания и использова-
ния прямоугольного двумерного массива:
Пример:
class TwoDArray {
public static void main(String[] args){
43
int twoD[][]=new int[4][5];
for(int i=0; i<twoD.length; i++)
for(int j=0; j<twoD[i].length; j++)
twoD[i][j]=j+j*i;
System.out.println("Длина двумерного массива
="+twoD.length);
System.out.println("Длина строк в массиве =
"+
twoD[0].length);
System.out.println("Значения массива:");
for(int i=0; i<twoD.length; i++)
for(int j=0; j<twoD[i].length; j++)
System.out.print(twoD[i][j]+"\t");
System.out.println("");
}
}
В двумерных массивах левый индекс нумерует строки, правый ин-
декс – столбцы.
При создании многомерного массива необходимо задать число эле-
ментов только в первой позиции, число элементов в остальных пози-
циях может быть задано отдельным оператором new для каждого из-
мерения
.
int twoD[][]=new int[4][];
twoD[0] = new int[5];
Таким образом можно создавать массивы иррегулярной формы,
как, например, двумерный массив со строками переменной длины.
Пример:
class TwoDTriangle {
public static void main(String[] args){
int twoD[][]=new int[10][];
for(int i=0; i<twoD.length; i++){
twoD[i]=new int[10-i];
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »