Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
//на один и тот же массив.
nums2 = numsl;
System.out.print("Here is nums2 after assignment: ");
for(i=0; i < 10; i++)
System.out.print(nums2[i] + " ");
System.out.println() ;
// выполнить операции над массивом numsl
// по ссылке на массив nums2.
nums2[3] = 99;
System.out.print("Here is numsl after change through nums2: ");
for(i=0; i < 10; i++)
System.out.print(numsl[i] + " ");
System.out.println();
}
}
Выполнение этой программы дает следующий результат:
Here is numsl: 0123456789
Here is nums2: 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
Here is nums2 after assignment: 0123456789
Here is numsl after change through nums2: 012 99 456789
Нетрудно заметить, что в результате присваивания ссылки на массив numsl переменной nums 2 обе переменные ссылаются на один и тот же массив.
Применение переменной экземпляра length
В связи с тем что массивы реализованы в виде объектов, в каждом массиве содержится переменная экземпляра length. Значением этой переменной является число элементов, которые может содержать массив. (Иными словами, в переменной length содержится размер массива.) Ниже приведен пример программы, демонстрирующий данное свойство массивов.
// Использование переменной экземпляра length,
class LengthDemo {
public static void main(String args[]) {
int list[] = new int[10];
int nums[] = { 1, 2, 3 };
int tablet][] = { // таблица со строками переменной длины
{1, 2, 3},
{ 4, 5 },
{6, 7, 8, 9}
};
System.out.println("length of list is " + list.length);
System.out.println("length of nums is " + nums.length);
System.out.println("length of table is " + table.length);
System.out.println("length of table[0] is " + table[0].length);
System.out.println("length of table[l] is " + table[1].length);
System.out.println("length of table[2] is " + table[2].length);
System.out.println() ;
// использовать переменную length для инициализации списка
// Переменная length служит для управления циклом for.
for(int i=0; i < list.length; i++)
list[i] = i * i;
System.out.print("Here is list: ");
for (int i=0; i < list.length; i++)
System.out.print(list[i] + " ");
System.out.println() ;
}
}
Выполнение этой программы дает следующий результат:
length of list is 10
length of nums is 3
length of table is 3
length of table[0] is 3
length of table[1] is 2
length of table[2] is 4
Here is list: 0 1 4 9 16 25 36 49 64 81
Обратите особое внимание, каким образом переменная length используется в двумерном массиве. Как пояснялось ранее, двумерный массив представляет собой массив массивов. Поэтому приведенное ниже выражение позволяет определить число массивов, содержащихся в массиве table,
table.length
Число таких массивов равно 3. Для того чтобы получить длину отдельного массива, содержащегося в массиве table, потребуется выражение, аналогичное следующему:
table[0].length
Это выражение возвращает длину первого массива.
Анализируя код класса LengthDemo, следует также заметить, что выражение list. length используется в цикле for для определения требуемого количества итераций. Учитывая то, что у каждого подмассива своя длина, пользоваться таким выражением удобнее, чем отслеживать вручную размеры массивов. Но не следует забывать, что переменная length не имеет никакого отношения к количеству фактически используемых элементов массива. Она содержит лишь данные о том, сколько элементов может содержать массив.