2.9 Массив
Массив - это список значений переменных с одинаковым именем, для обращения к значениям которых используется индекс или список индексов. Как только размер массива объявлен, то он не может быть изменён. Массивы полезны, поскольку один и тот же тип данных может быть сохранен в одном месте. Данными могут быть примитивный тип данных или объект. К индивидуальным элементам массива можно обратиться с помощью имени массива и местоположения данного элемента. Местоположение также называют индексом.
Массив может быть объявлен и представлен в памяти, как показано ниже
Char ch[] = new char[10];
Вышеупомянутая запись создает массив 10 символов с именем ch.
Этот массив представлен следующим образом:
Все элементы массива ch сохранены последовательно.
Если мы хотим обратиться к символу, сохраненному в положении 6 массива ch и назначить ему значение символьной переменной, просто пишем,
char element = ch[5];
Если мы хотим обратиться к 5-ому элементу массива ch и назначить ему значение переменной, просто пишем
char element = ch[4];
Здесь, 5 и 4 - индексы массива ch. Индекс начинается с 0. Следовательно, чтобы обратиться к 5-ому символу, индекс должен быть 4.
Рассмотрим следующие различные способы создания массивов
char ch[]; // just a declaration
Здесь длина массива не определена.
char ch[] = new char[10]; // declaration and creation.
Ключевое слово
'new' используется для распределения памяти для массива. Первая запись (выше) объявляет массив, а вторая запись объявляет и создаёт массив. Создание массива означает, что выделяется фактическая память для сохранения элементов массива. Это также называется реализацией массива. Когда массив создаётся, всем элементам массива назначаются значения по умолчанию в зависимости от типа массива. Если массив типа int, то всем элементам массива по умолчанию присваивается нуль. Если массив имеет переменную типа boolean, то все элементы имеют значение false. Это называется авто инициализация.
Следующая программа показывает пример использования массива.
Пример 14:
class ArrayDemo {
public static void main(String args[]) {
int integer [] = new int [5] ;
int a = 100;
for(int i = 0; i < 5; i++)
integer[i] = a++;
for(int i = 0; i < 5; i++)
System.out.print(integer[i] + t );
}
}
Вывод вышеупомянутой программы следующий,
Рисунок 2.11: Вывод ArrayDemo
Вышеупомянутая программа создает массив, integer, типа int. Таким образом в массиве можно хранить целочисленные значения. Первый цикл for используется, чтобы сохранить значения в массив, а второй цикл for используется, чтобы напечатать все элементы массива.
Действующая инициализация
В этом типе, элементы массива инициализированы во время объявления.
int a[] = {10,20,30,40,50};
float floatArray[] = {248.75,45.50,873.45};
В действующей инициализации нет никакой потребности определять размер массива. Размер массива определен общим количеством значений, данных в пределах изогнутых фигурных скобок.