русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 630; Нарушение авторских прав


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

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

Рассмотрим создание массива на основе ссылочного типа. Предпо­ложим, это будет класс Point. При создании экземпляра массива с приме­нением ключевого слова new не создается ни один объект класса Point, создается лишь один объект массива. Каждый элемент массива будет иметь пустое значение null. В этом можно убедиться на простом примере:

Point p[]=new Point[5]; for (Int i=0; Kp.length; i++) { System.out.pritnln(p[i]);}

Результатом будут лишь слова null.

Далее нужно инициализировать элементы массива по отдельности, например, в цикле. Вообще, создание массива длиной п можно рассмат­ривать как заведение п переменных и работать с элементами массива (в последнем примере p[i]) по правилам обычных переменных.

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

inti[]={1,3,5};

'fit j[]={}; // эквивалентно new int[0]

Длина массива вычисляется автоматически, исходя из количества введенных значений. Далее создается массив такой длины и каждому его элементу присваивается указанное значение.

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



Point p=new Point(1,3);

Point arr[]={p, newPoint(2,2), null, p};

//или

String sarr[]={"aaa", "bbb", "ccle"+"xyz"};

Однако инициализатор нельзя использовать для анонимного созда­ния экземпляров массива, то есть не для инициализации переменной, а, например, для передачи параметров метода или конструктора.

Например:

public class Parent { private String[] values;

protected Parent(String[] s) {

values=s; } }

public class Child extends Parent {

public Child(String firstName, String lastName) {

super(???); //требуется анонимное создание массива } }

В конструкторе класса Child необходимо осуществить обращение к конструктору родителя и передать в качестве параметра ссылку на массив. Теоретически можно передать null, но это приведет в большинстве случаев к некорректной работе классов. Можно вставить выражение new String[2], но тогда вместо значений firstName и lastName будут переданы пустые строки. Попытка записать {firstName, lastName} приведет к ошибке компиляции, так можно только инициализировать переменные.

Корректное выражение выглядит так:

new String[]{firstName, lastName}

Что является некоторой смесью выражения, создающего массивы с помо­щью new, и инициализатора. Длина массива определяется количеством указанных значений.



<== предыдущая лекция | следующая лекция ==>
Объявление массивов | Многомерные массивы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.389 сек.