Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.


„Здрасти, Амиго!“

— Хей, Ели!

„Днес ще ви разкажа за един нов и интересен обект: масиви. Масивът е тип данни, който може да съхранява няколко стойности instead of само една.“

Масиви - 1

„Нека започнем с аналогия. Нека сравним къща и жorщна сграда. Обикновената къща обикновено се обитава само от едно семейство, но жorщната сграда е разделена на много апартаменти. За да изпратите писмо до семейство, живеещо в къща, трябва да посочите уникалния address на къщата. За да изпратите писмо до семейство, живеещо в жorщна сграда, трябва да напишете уникалния address на жorщната сграда и номера на апартамента."

— Засега всичко изглежда ясно.

„Една променлива за масив е като променлива за жorщна сграда. Можете да съхранявате много стойности в нея instead of само една. Такава променлива има няколко апартамента (елементи), към които можете да се обърнете, като използвате номер на апартамент (индекс). За да направите това, посочете индекса на елемента на масива, до който искате да получите достъп, в квадратни скоби след името на променливата на масива. Съвсем просто е."

— Надявам се, Ели.

"Променлива за жorщна сграда (променлива масив) може да съдържа елементи от всяHowъв тип. Просто трябва да напишете ' TypeName[] variable_name ' instead of ' TypeName variable_name '."

Ето няколко примера:

Код Описание
String[] list = new String[5];
Създайте Stringмасив с 5елементи
System.out.println(list[0]);
System.out.println(list[1]);
System.out.println(list[2]);
System.out.println(list[3]);
System.out.println(list[4]);
Ще бъдат показани пет стойности „ null “.

За достъп до стойността на определен елемент от масива използвайте квадратни скоби и индекса на елемента.

int listCount = list.length;
listCountще бъде присвоена стойност 5, което е броят на елементите в listмасива. съхранява дължината на масива (броя елементи).
list.length
list[1] = "Mom";
String s = list[1];
Когато присвоявате обекти на елементи от масива, трябва да посочите индекса на елемента в квадратни скоби.
for (int i = 0; i < list.length; i++)
{
     System.out.println(list[i]);
}
Показване на стойностите на всички елементи на масива на екрана.

"Колко интересно!"

„Масивна променлива изисква допълнителна инициализация.“

— ?

„С обикновена променлива можете просто да я декларирате и след това да й присвоите различни стойности. С масив е малко по-сложно.“

„Първо трябва да създадете контейнер, който ще съдържа N елемента, и едва след това можете да започнете да поставяте стойности в контейнера.“

Код Описание
String[] list = null;
Променливата на listмасива е нула . Може да съхранява само препратка към контейнер за елементи. Трябва да създадете контейнера отделно.
String[] list = new String[5];
Създайте контейнер за 5елементи и задайте препратка към listпроменливата. Този контейнер има 5 апартамента (елементи), номерирани с 0, 1, 2, 3 и 4.
String[] list = new String[1];
Създайте контейнер за 1елемент и задайте препратка към listпроменливата. За да поставим нещо в този контейнер, бихме написали нещо подобноlist[0] = "Yo!";
String[] list = new String[0];
Създайте контейнер за 0елементи и задайте препратка към listпроменливата. Не можете да съхранявате нищо в този контейнер.

— Разбирам. Сега става по-ясно.

„Ето някои основни факти за масивите:“

1) Масивът се състои от много елементи.

2) За достъп до определен елемент, посочвате неговия номер (индекс).

3) Всички елементи са от един и същи тип.

4) Първоначалната стойност за всички елементи е нула; за масиви от примитивни типове първоначалната стойност е 0, 0.0 (за дробни числа) or false (за булеви). Това е точно същото като с неинициализирани променливи, които не са в масиви.

5) Списъкът String[] просто декларира променлива. Първо трябва да създадете масив (контейнер), да поставите нещо в него и едва след това да го използвате (вижте примера по-долу).

6) Когато създаваме масив (контейнер) обект, трябва да посочим неговата дължина or броя на елементите. Правим това с помощта на new TypeName[n];

Масиви - 2

Ето няколко примера:

Код Описание
String s;
String[] list;
sе равно на нула
listе равно на нула
list = new String[10];
int n = list.length;
Променливата listсъхранява препратка към обект – 10-елементен масив от низове
n се равнява на 10
list = new String[0];
Сега listсъдържа 0масив от елементи. Масивът съществува, но не може да съхранява низове.
list = null;
System.out.println(list[1]);
Това ще предизвика изключение (грешка по време на изпълнение) и програмата ще бъде необичайно прекратена: listсъдържа нулева препратка.
list = new String[10];
System.out.println(list[11]);
Това ще хвърли изключение (грешка по време на изпълнение): индексът на масива е извън границите.

Ако listсъдържа 10 елемента, валидните индекси са: 0,1,2,3,4,5,6,7,8 и 9 (за общо 10 индекса).