1. Масивът е контейнер от елементи
Вероятно сте чували, че компютрите могат да обработват огромни количества информация. Разбира се, условните изрази ( if-else
) и циклите ( for
, while
) са голяма помощ тук. Но те могат да ви отведат само дотук. В крайна сметка данните, които обработвате, трябва да бъдат съхранени по няHowъв начин.
Както почти всички езици за програмиране, Java улеснява обработката на данни, като предоставя това страхотно нещо, наречено масив ( Array
клас). Те също понякога се наричат маси.
Масивът е специален обект, който ви позволява да съхранявате не една стойност, а няколко .
По-рано сравнихме променлива с кутия (в която можете да съхранявате произволна стойност). Продължавайки тази аналогия, можем да мислим за масив като кутия, която има вътрешни отделения. Всяко отделение в "кутията" (масив) има номер. Разбира се, номерацията започва от нула...
Или можем да направим друга аналогия. Нека сравним една обикновена къща и многоетажна жorщна сграда. Една обикновена къща се обитава от едно семейство, но високата жorщна сграда е разделена на апартаменти. Ако искате да изпратите писмо до семейство, което живее в обикновена къща, посочвате уникалния address на къщата. А за да изпратите писмо до семейство, което живее в апартамент, посочвате уникалния address на сградата, Howто и номера на апартамента.
Променливата на масива е като променлива на високо ниво. Може да съхранява не една, а много стойности. Такава променлива има няколко апартамента (клетки). Всеки от тях може да бъде addressиран с неговия номер (индекс).
За да направите това, след името на променливата посочвате индекса на клетката, която искате да addressирате, като увивате индекса в квадратни скоби. Това е доста просто:
array[index] = value;
Къде array
е името на променливата на масива, index
е номерът на клетката в масива и value
е стойността, която искаме да поставим в указаната клетка.
Но за да започнем, нека разберем How да създаваме масиви.
2. Създаване на масив от елементи в Java
Да приемем, че вашата програма трябва да съхранява 100
някъде цели числа. Един масив би бил добър кандидат за това. И How се създава такъв?
Ако искаме да съхраним едно цяло число, типът int
ще ни подхожда. Но ако искаме да съхраняваме 100
цели числа, вероятно се нуждаем от масив от int
s. Ето How ще изглежда codeът за създаване на такъв:
int[] array = new int[100];
Нека проучим това твърдение.
Както може би се досещате, вляво от знака за equalsство имаме декларацията на променлива с име, array
чийто тип е int[]
. Типът int
е последван от квадратни скоби, което подсказва, че "кутиите" от този тип могат да съхраняват не една, а няколко стойности.
Вдясно от знака за equalsство имаме пример за „създаване на обект“ (ключовата new
дума), за да получим 100
елементи (клетки), чийто тип е int. Тук няма нищо твърде трудно.
По същия начин, ако искаме да създадем масив от 20 клетки за съхраняване на реални числа, тогава нашият code ще изглежда така:
double[] vals = new double[20];
Броят на клетките в масива се нарича размер на масива or дължина на масива . И тъй като масивите могат да съхраняват много стойности, те се наричат още контейнери.
Ето един важен факт: не можете да промените размера на масив, след като е създаден .
Можете да създадете нов, но дължината на съществуващия контейнер не може да бъде променена.
3. Работа с клетките на масив
Добре, научихме се How да създаваме масиви. Сега How да работим с тях?
Е, почти по същия начин, Howто при обикновените променливи. Единствената разлика е, че след името на променливата на масива трябва да посочим номера на клетката, с която работим.
Номерирането на клетките в масива винаги започва от нула. Ако имаме масив от 10
елементи, то номерата (индексите) на неговите клетки са 0..9
. Ако масивът съдържа 200
елементи, тогава индексите са 0..199
. И така нататък по аналогия.
Примери:
Код | Обяснение |
---|---|
|
Създайте масив от 10 int елементи. Присвоете стойността 4 на клетката с индекс 2 . Присвоете стойността 9 на клетката с индекс 7 . В клетката с индекс 9 напишете сумата от стойностите, които се съхраняват в клетки 2 (която съхранява стойността 4 ) и 5 (която съхранява стойността 0 ). |
Ето Howво ще бъде съхранено в паметта след изпълнение на този code:
Колоната отляво (в сиво) представлява номерата на клетките (индекси). Клетките съхраняват зададените стойности: 4
, 9
и 4
. Когато масивът е създаден, клетките му се запълват с нули.
Това е важно. Всички клетки в масива имат един и същи тип данни. Ако създадем масив от String
s, в неговите клетки могат да се съхраняват само низове. Типът данни на масива се посочва при създаването му. Нито типът данни, нито дължината на масива могат да бъдат променени по-късно.
GO TO FULL VERSION