1. Масив — це контейнер елементів

Найімовірніше, ви чули, що комп'ютери можуть обробляти величезні обсяги інформації. Умовний оператор (if-else) і цикли (for, while), звичайно, у цьому допомагають. Однак далеко на них не заїдеш, адже оброблювані дані треба якось зберігати.

На цей випадок у Java, так само як майже в усіх мовах програмування, є одна чудова річ, а саме масиви (Array). Їх також називають таблицями.

Масив — це спеціальний об'єкт, в якому можна зберігати не одне значення, а декілька.

Якщо раніше ми порівнювали змінну з коробкою (де можна зберігати якесь значення), то масив більше схожий на коробку, всередині розділену на секції. Кожна секція в «коробці-масиві» має свій номер. Нумерація, звичайно ж, з нуля...

Ну або можна провести іншу аналогію. Порівняймо індивідуальний житловий будинок і багатоповерхівку. В індивідуальному будинку мешкає одна сім'я, а багатоповерхівка розділена на квартири. Щоб написати листа сім'ї, яка живе в окремому будинку, треба вказати його унікальну адресу. А щоб написати листа сім'ї, яка живе в квартирі, треба вказати унікальну адресу будинку та номер квартири.

Отож змінна-масив — це змінна-багатоповерхівка. У ній можна зберігати не одне значення, а декілька. У такій змінній є кілька квартир (комірок), і до кожної комірки можна звернутися за її номером (індексом).

Для цього в квадратних дужках після імені змінної потрібно вказати індекс комірки, до якої звертаємося. Це досить просто:

array[індекс] = значення;

де аrray — це ім'я змінної-масиву, індекс — номер комірки в масиві, а значення — те значення, яке ми хочемо записати в зазначену комірку.

Однак спершу з'ясуймо, як створювати масиви.


2. Створення масиву елементів у Java

Створення масиву елементів у Java

Припустімо, вашій програмі потрібно десь зберігати 100 цілих чисел. Найімовірніше, для цього підійшов би масив. І як же його створити?

Якби ми хотіли зберігати одне ціле число, нам підійшов би тип int, ну а якщо стоїть завдання зберігати 100 цілих чисел, певно, нам потрібен масив типу int. Отакий вигляд матиме код для його створення:

int[] array = new int[100];

Розберімося, що тут написано.

Як ви вже, мабуть, здогадалися, вираз ліворуч від знака рівності — це оголошення змінної з іменем array типу int[]. Після типу int стоять квадратні дужки, які немовби натякають, що в «коробках» цього типу можна буде зберігати не одне значення, а декілька.

Праворуч від знака рівності відбувається «створення» (слово new) об'єкта на 100 елементів (комірок) типу int. Теж не надто складно.

Якби ми хотіли, приміром, створити масив на 20 комірок для зберігання дійсних чисел, код для його створення мав би приблизно такий вигляд:

double[] vals = new double[20];

Кількість комірок у масиві називають розміром масиву або довжиною масиву. А завдяки здатності зберігати багато значень масиви інакше називають контейнерами.

Важливий факт: розмір контейнера (масиву) не можна змінити після створення.

Можна створити новий, але довжину вже створеного контейнера змінити не вдасться.



3. Робота з комірками масиву

Робота з комірками масиву

Добре, створювати масиви ми навчилися, а як правильно з ними працювати?

Майже так само, як і зі звичайними змінними, тільки після імені змінної-масиву обов'язково треба вказувати номер комірки, з якою ми працюємо.

Нумерація комірок масиву завжди починається з нуля. Якщо маємо масив на 10 елементів, то номери (індекси) його комірок — 0..9, якщо масив на 200 елементів, то 0..199. І далі за аналогією.

Приклади:

Код Пояснення
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
Створюємо масив на 10 елементів типу int.
У комірку з індексом 2 записуємо значення 4.
У комірку з індексом 7 записуємо значення 9.
У комірку з індексом 9 записуємо суму значень, які зберігаються в комірках 2 (зберігається 4) і 5 (зберігається 0).

От що зберігатиметься в пам'яті після виконання цього коду:

Стовпець ліворуч (цифри сірого кольору) — це номери (індекси) комірок. У комірках зберігаються внесені значення: 4, 9 і 4. Відразу після створення масиву всі комірки заповнені нулями.

Важливо! Усі комірки масиву мають однаковий тип даних. Якщо ми створили масив рядків String, у його комірках можна зберігати лише рядки. Тип даних масиву задають під час його створення. Ані тип даних, ані довжину масиву пізніше змінити не можна.