Программирование на JAVA

Навигация

Лекция 1. Что такое Java? История создания

Лекция 2. Основы объектно-ориентированного программирования

Лекция 3. Лексика языка

Лекция 4. Типы данных

Лекция 5. Имена. Пакеты

Лекция 6. Объявление классов

Лекция 7. Преобразование типов

Лекция 8. Объектная модель в Java

Лекция 9. Массивы

Лекция 10. Операторы и структура кода. Исключения

Лекция 11. Пакет java.awt

Лекция 12. Потоки выполнения. Синхронизация

Лекция 13. Пакет java.lang

Лекция 14. Пакет java.util

Лекция 15. Пакет java.io

Лекция 16. Введение в сетевые протоколы

Реклама :





inti[]=newint[5];

i=new int[7]; // переменная та же, длина массива другая

Однако для объекта массива длина обязательно должна указываться ПРИ создании и уже никак не может быть изменена. В последнем примере *^ Присвоения переменной ссылки на массив большей длины потребо-^ось создать новый экземпляр.

Поскольку для экземпляра массива длина является постоянной ха­рактеристикой, для всех массивов существует специальное поле length позволяющее узнать ее значение. Например:

Point p[]=new Point[5]; for (int i=0; i<p.length; i++) { p[i]=new Point(i, i);

}

Значение индекса массива всегда имеет тип int. При обращении к элементу можно также использовать byte, short или char, поскольку эти типы автоматически расширяются до int. Попытка задействовать long приведет к ошибке компиляции.

Соответственно, и поле length имеет тип int, а теоретическая макси­мально возможная длина массива равняется 23'-1, то есть немногим боль­ше 2 млрд.

Продолжая рассматривать тип массива, подчеркнем, что в качестве базового типа может использоваться любой тип Java, в том числе:

• интерфейсы. В таком случае элементы массива могут иметь значе­ние null или ссылаться на объекты любого класса, реализующего этот интерфейс;

• абстрактные классы. В этом случае элементы массива могут иметь значение null или ссылаться на объекты любого неабстрактного класса-наследника.

Поскольку массив является объектным типом данных, его значения могут быть приведены к типу Object или, что то же самое, присвоены пе­ременной типа Object. Например,

Object о = new int[4];

Это дает интересную возможность для массивов, основанных на ти­пе Object, хранить в качестве элемента ссылку на самого себя:

Object arr[] = new Object[3]; arr[0]=new Objecto; arr[1]=null;

arr[2]=arr; // Элемент ссылается на весь массив!

Инициализация массивов

Теперь, когда мы выяснили, как создавать экземпляры массива, рас-сМОтрим, какие значения принимают его элементы.

Если создать массив на основе примитивного числового типа, то из­начально после создания все элементы массива имеют значение по умол­чанию, то есть 0. Если массив объявлен на основе примитивного типа boolean, то и в этом случае все элементы будут иметь значение по умол­чанию false. Выше рассматривался пример инициализации элементов с помощью цикла for.