1. Массив — это контейнер элементов
Скорее всего вы слышали, что компьютеры могут обрабатывать громадные объемы информации. Условный оператор (if-else
) и циклы (for
, while
), конечно, в этом помогают. Но далеко на них не уедешь, ведь обрабатываемые данные нужно как-то хранить.
На этот случай в Java, как и практически во всех языках программирования, есть такая отличная вещь как массивы (Array
). Их еще называют таблицами.
Массив — это специальный объект, в котором можно хранить не одно значение, а несколько.
Если раньше мы сравнивали переменную с коробкой (где можно хранить какое-нибудь значение), то массив — это скорее коробка, разделенная внутри на секции. У каждой секции в «коробке-массиве» есть ее номер. Нумерация, конечно же, с нуля...
Ну или можно провести еще одну аналогию. Давайте сравним обычный жилой дом и многоэтажку. Обычный дом занимает одна семья, а многоэтажка разбита на квартиры. Чтобы написать письмо семье, которая живет в обычном доме, надо указать его уникальный адрес. А чтобы написать письмо семье, которая живет в квартире, надо указать уникальный адрес дома и еще номер квартиры.
Так вот, переменная-массив — это переменная-многоэтажка. В ней можно хранить не одно значение, а несколько. В такой переменной есть несколько квартир (ячеек), к каждой из которых можно обратиться по ее номеру (индексу).
Для этого после имени переменной в квадратных скобках надо указать индекс ячейки, к которой обращаемся. Это довольно просто:
array[индекс] = значение;
Где аrray
— это имя переменной-массива, индекс
— номер ячейки в массиве, а значение
— значение, которое мы хотим занести в указанную ячейку.
Но давайте для начала разберемся, как создавать массивы.
2. Создание массива элементов в 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
. И дальше по аналогии.
Примеры:
Код | Пояснение |
---|---|
|
Создаем массив на 10 элементов типа int .В ячейку с индексом 2 записываем значение 4 .В ячейку с индексом 7 записываем значение 9 .В ячейку с индексом 9 записываем сумму значений, которые хранятся в ячейках 2 (хранится 4 ) и 5 (хранится 0 ).
|
Вот что будет храниться в памяти после выполнения данного кода:
Колонка слева (серым цветом) — это номера (индексы) ячеек. В ячейках хранятся внесенные значения: 4
, 9
и 4
. Сразу после создания ячейки массива заполнены нулями.
Важно. Все ячейки массива имеют одинаковый тип данных. Если мы создали массив строк String
, в его ячейках можно хранить только строки. Тип данных массива задается при его создании. Ни тип данных, ни длину массива в дальнейшем поменять нельзя.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ