- упражнение
- масиви и работа с масиви
До момента работихме предимно с променливи, които имат специалното свойство да съхраняват само една единствена стойност. Това е напълно идеално в случайте когато трябва са съхраняваме специфично състояние на нашата програма, но често ни се налага да пазим огромно количество информация, за еднотипни данни. Например:
- всички студенти в нашия курс;
- всички продукти, които ще продаваме.
Механизма, който ни е необходим за справяне с тази задача е известен като МАСИВ. В Java масив се дефинира, по следния начин
{ТИП ДАННИ}**[]** {ИМЕ НА МАСИВА} = new {ТИП ДАННИ}[{РАЗМЕР НА МАСИВА}]
Нека да направим няколко масива, които да съдържат информация за продукти:
- име на продукт
- количество продукт
- покупна цена
- продажна цена
Количеството на всички масиви ще бъде точно 5 бройки.
String[] productNameCollection = new String[5];
int[] productCountCollection = new int[5];
double[] productPriceBuyCollection = new double[5];
double[] productPriceSellCollection = new double[5];
След декларирането на масив, получаваме N на брой плазни клетки, в които можем, да съхраняваме стойности. Всяка стойност се идентифицира с така наречените индекси, които парадоксално започвам от 0 и достигат до ДЪЛЖИНАТА НА МАСИВА - 1. Индекса винаги е число, което се записва между оператора []
Подобно на променливите, с масиви можем да правим само две единствени операции:
- да взимаме стойност от тях
- да присвояваме стойност в тях
И двете операции, се извършват с помоща на името на масива и неговия индексен идентификатор
Операция присвояване - Еквивалентно е на процеса при променливите с тази уловка че винаги трябва да специфицираме, индеска към който добавяме стойност
productNameCollection[0] = "Риба";
Операция присвояване - Еквивалентно е на процеса при променливите с тази уловка че винаги трябва да специфицираме, индеска от който ще вземем стойността
String productTitle = productNameCollection[0];
Обхождане на масиви - често ни се налага да преминем през всички елементи на един масив, било то за да го визуализираме или за да обработим всичките му елементи по някакъв начин. В 99.99% от случайте ползваме цикъл FOR. Трябва да имаме предвид следните особености:
- всеки масив съдържа в себе си променлива наречена length , която съдържа размера на масива. Тя ни се дава от Java - та и може да се достъпи с помоща на оператора точка (.).
- използваме цикъла FOR защото той ни предоставя, възможност да работим с бройчи.
for(int i = 0; i < productNameCollection.length; i++) {
System.out.println(productNameCollection[i]);
}