Масиви в Java
Какво е Java масиви?
Java Array е много често срещан тип структура от данни, която съдържа всички стойности на данни от един и същи тип данни. Елементите с данни, поставени в масива, се наричат елементи и първият елемент в масива започва с индекс нула. Масивите наследяват класа на обекта и имплементират интерфейсите за сериализиране и клониране. Можем да съхраняваме примитивни стойности или обекти в масив.
С прости думи, това е програмна конструкция, която помага да се замени това
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
с това…
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
как това помага е, че една променлива може да препраща към индекса (числото в скобата []) за лесно примка.
for(count=0; count<5; count++) { System.out.println(x[count]); }
Видове масиви в Java
Има два вида масив.
- Едномерен масив
- Многомерен масив
Променливи в масива
Използването на масив във вашата програма е a Процес от 3 стъпки -
1) Деклариране на вашия масив
2) Конструиране на вашия масив
3) Инициализирайте своя масив
1) Деклариране на вашия масив
Синтаксис
<elementType>[] <arrayName>;
или
<elementType> <arrayName>[];
Пример:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Конструиране на масив
arrayname = new dataType[]
Пример:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Декларация и Строителство комбинирани
int intArray[] = new int[10];
3) Инициализиране на масив
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the array intArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
Деклариране и инициализиране на масив
[] = {};Пример:
int intArray[] = {1, 2, 3, 4}; // Initilializes an integer array of length 4 where the first element is 1 , second element is 2 and so on.
Програма First Array
Стъпка 1) Копирайте следния код в редактор.
class ArrayDemo{ public static void main(String args[]){ int array[] = new int[7]; for (int count=0;count<7;count++){ array[count]=count+1; } for (int count=0;count<7;count++){ System.out.println("array["+count+"] = "+array[count]); } //System.out.println("Length of Array = "+array.length); // array[8] =10; } }
Стъпка 2) Запазете, компилирайте и стартирайте кода. Наблюдавайте изхода
Очакван резултат:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Стъпка 3) Ако x е препратка към масив, x.дължина ще ви даде дължината на масива.
Разкоментирайте ред #10. Запазете, компилирайте и стартирайте кода. Наблюдавайте изхода
Length of Array = 7
Стъпка 4) За разлика от C, Java проверява границата на масив, докато осъществява достъп до елемент в него. Java няма да позволи на програмиста да надхвърли неговата граница.
Разкоментирайте ред #11. Запазете, компилирайте и стартирайте кода. Наблюдавайте изхода
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Стъпка 5) Изхвърля се ArrayIndexOutOfBoundsException. В случай на C, същият код би показал някаква ненужна стойност.
Java Масив: Предаване по препратка
Масивите се предават на функции чрез препратка или като указател към
оригинала. Това означава всичко, което правите с масива вътре в
функция засяга оригинала.
Пример: За да се разбере масивът се предава по референция
Стъпка 1) Копирайте следния код в редактор
class ArrayDemo { public static void passByReference(String a[]){ a[0] = "Changed"; } public static void main(String args[]){ String []b={"Apple","Mango","Orange"}; System.out.println("Before Function Call "+b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call "+b[0]); } }
Стъпка 2) Запазете, компилирайте и стартирайте кода. Наблюдавайте изхода
Очакван резултат:
Before Function Call Apple After Function Call Changed
Многоизмерни масиви
Многомерните масиви всъщност са масиви от масиви.
За деклариране на многоизмерен масив променлив, посочете всеки допълнителен индекс, като използвате друг набор от квадратни скоби.
Ex: int twoD[ ][ ] = new int[4][5] ;
Когато заделяте памет за многоизмерен масив, трябва да посочите паметта само за първото (най-ляво) измерение.
Можете да разпределите останалите размери отделно.
In Java, дължината на всеки масив в многомерен масив е под ваш контрол.
Пример
public class Guru99 { public static void main(String[] args) { // Create 2-dimensional array. int[][] twoD = new int[4][4]; // Assign three elements in it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Очакван резултат:
1