Фрагмент лекции JavaRush - университета.
— Привет, Амиго!
— День добрый, Элли!
— Сегодня я расскажу тебе о новой интересной сущности – о массивах. Массив – это специальный тип данных, который может хранить не одно значение, а несколько.
— Начну с аналогии. Давай сравним обычный жилой дом и многоэтажку. В обычном доме чаще всего живет одна семья, а многоэтажка разбита на квартиры. Чтобы написать письмо семье, которая живет в обычном доме, надо указать его уникальный адрес. А чтобы написать письмо семье, которая живет в квартире, надо указать уникальный адрес дома и еще номер квартиры.
— Да, тут все понятно.
— Так вот, переменная-массив – это переменная-многоэтажка. В ней можно хранить не одно значение, а несколько. В такой переменной есть несколько квартир (ячеек), к каждой из которых можно обратиться по ее номеру (индексу). Для этого после имени переменной в квадратных скобках надо указать индекс ячейки, к которой обращаемся. Это довольно просто.
— Надеюсь.
— Переменная-многоэтажка (переменная-массив) может быть любого типа, надо лишь вместо «ИмяТипа имяПеременной
», написать «ИмяТипа[] имяПеременной
».
— Примеры:
Код | Описание |
---|---|
|
Создание массива на 5 элементов типа «строка » |
|
На экран будет выведено пять значений “null”.
Чтобы получить значение, которое хранится в определенной ячейке массива, используйте квадратные скобки и номер ячейки |
|
listCount получит значение 5 – количество ячеек в массиве list .list.length хранит длину(количество ячеек) массива. |
|
При присваивании объектов ячейкам массива нужно указывать индекс/номер ячейки в квадратных скобках. |
|
Вывод всех значений массива на экран. |
— Как интересно.
— Переменная-массив требует дополнительной инициализации.
— ?
— Обычную переменную нужно было просто объявить и уже можно присваивать ей различные значения. С массивом все немного сложнее.
— Сначала надо создать контейнер на N элементов, а затем в него уже можно класть значения.
Код | Описание |
---|---|
|
Переменная-массив list , ее значение – null. Она может хранить только контейнер для элементов. Контейнер надо создавать отдельно. |
|
Мы создаем контейнер на 5 элементов и кладем ссылку на него в переменную list . Этот контейнер содержит 5 квартир (ячеек) с номерами 0, 1, 2, 3, 4. |
|
Мы создаем контейнер на 1 элемент и кладем ссылку на него в переменную list . Чтобы занести что-то в этот контейнер надо написать list[0] = “Yo!”; |
|
Мы создаем контейнер на 0 элементов и кладем ссылку на него в переменную list . Ничего в этот контейнер занести нельзя! |
— Ага. Кое-что проясняется.
— Основные факты о массивах:
1) Java массив состоит из множества ячеек.
2) Доступ к конкретной ячейке идёт через указание её номера.
3) Все ячейки одного типа.
4) Начальное значение для всех ячеек – null, для примитивных типов – 0, 0.0 (для дробных), false (для типа boolean). Точно такое же, как и у простых неинициализированных переменных.
5) String[] list — это просто объявление переменной. Сначала нужно создать массив (контейнер) и положить его в эту переменную, а потом уже им пользоваться. См. пример ниже.
6) Когда мы создаём объект массив (контейнер), нужно указать, какой он длины – сколько в нем ячеек. Это делается командой вида: new TypeName[n];
— Примеры:
Код | Описание |
---|---|
|
s равно nulllist равно null |
|
Переменная list хранит ссылку на объект — массив строк из 10 элементов.n равно 10 |
|
Теперь list содержит массив из 0 элементов. Массив есть, но хранить элементы он не может. |
|
Будет сгенерировано исключение (ошибка программы) – программа аварийно завершится. list содержит пустую ссылку – null |
|
Будет сгенерировано исключение (ошибка программы) – выход за границы массива.
Если |