Što je Java Array?
Java Array vrlo je uobičajena vrsta strukture podataka koja sadrži sve vrijednosti podataka istog tipa podataka. Stavke podataka stavljene u niz nazivaju se elementima, a prvi element u nizu započinje indeksom nula. Nizovi nasljeđuju klasu objekata i implementiraju sučelja koja se mogu serirati i klonirati. Primitivne vrijednosti ili objekte možemo pohraniti u niz.
Jednostavnim riječima, to je programska konstrukcija koja pomaže zamijeniti ovo
x0=0;x1=1;x2=2;x3=3;x4=4;x5=5;
s ovim
...x[0]=0;x[1]=1;x[2]=2;x[3]=3;x[4]=4;x[5]=5;
U ovom vodiču naučit ćete-
- Što je niz?
- Varijable niza
- Program prvog niza
- Java Array: Prođi referencu
- Višedimenzionalni nizovi
kako to pomaže je to što se varijabla može pozivati na indeks (broj u zagradi []) radi lakšeg petljanja.
for(count=0; count<5; count++) {System.out.println(x[count]);}
Varijable niza
Korištenje niza u programu je 3 koraka
proces -1) Izjava o vašem polju
2) Izgradnja vašeg niza 3) Inicijalizirajte svoj niz
1) Izjava o vašem polju
Sintaksa
[] ;
ili
[];
Primjer:
int intArray[];// Defines that intArray is an ARRAY variable which will store integer valuesint []intArray;
2) Konstruiranje niza
arrayname = new dataType[]
Primjer:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Izjava i konstrukcija kombinirani
int intArray[] = new int[10];
3) Inicijalizirajte niz
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the arrayintArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
Deklariranje i inicijalizacija niza
[] = {};
Primjer:
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.
Program prvog niza
Korak 1) Kopirajte sljedeći kod u editor.
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;}}
Korak 2) Spremite, prevedite i pokrenite kôd. Promatrajte izlaz
Izlaz:
array[0] = 1array[1] = 2array[2] = 3array[3] = 4array[4] = 5array[5] = 6array[6] = 7
Korak 3) Ako je x referenca na niz, x.length će vam dati duljinu niza.
Redak za komentariranje br. 10. Spremite, prevedite i pokrenite kôd. Promatrajte izlaz
Length of Array = 7
Korak 4) Za razliku od C, Java provjerava granicu niza dok pristupa elementu u njemu. Java neće dopustiti programeru da prekorači svoje granice.
Redak za komentar # 11. Spremite, prevedite i pokrenite kôd. Promatrajte izlaz
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8at ArrayDemo.main(ArrayDemo.java:11)Command exited with non-zero status 1
Korak 5) Izbacuje se ArrayIndexOutOfBoundsException. U slučaju C, isti kod bi pokazao neku vrijednost smeća.
Java Array: Prođi referencu
Nizovi se funkcijama prosljeđuju referencom ili kao pokazivač na izvornik. To znači da sve što učinite s Arrayom unutar funkcije utječe na original.
Primjer: Da bi se razumjelo Array se prosljeđuje referencom
Korak 1) Kopirajte sljedeći kod u editor
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]);}}
Korak 2) Spremite, prevedite i pokrenite kôd. Promatrajte izlaz
Izlaz:
Before Function Call AppleAfter Function Call Changed
Višedimenzionalni nizovi
Multidimenzionalni nizovi zapravo su nizovi nizova.
Da biste proglasili višedimenzionalnu varijablu niza, navedite svaki dodatni indeks koristeći drugi skup uglatih zagrada.
Ex: int twoD[ ][ ] = new int[4][5] ;
Kada dodjeljujete memoriju za višedimenzionalni niz, trebate navesti memoriju samo za prvu (krajnju lijevu) dimenziju.
Preostale dimenzije možete dodijeliti zasebno.
U Javi je duljina niza svakog niza u višedimenzionalnom nizu pod vašom kontrolom.
Primjer
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] + " ");}}
Izlaz:
1