java array declare
Ovaj produbljeni vodič objašnjava različite načine deklariranja, stvaranja i inicijalizacije novog polja s vrijednostima u Javi uz pomoć jednostavnih primjera koda:
U našem prethodnom tutorialu raspravljali smo o osnovama nizova u Javi zajedno s različitim konceptima povezanim s nizovima koje ćemo detaljno naučiti u ovoj seriji tutorijala.
Prvi i najvažniji korak s nizovima je njihova izrada. Morate biti svjesni koje vrste elemenata i koliko elemenata ćete pohraniti u nizove. Jednom kada deklarirate niz, možda ćete ih htjeti inicijalizirati davanjem nekih početnih vrijednosti, a to postoje razne metode.
Stoga ćemo se u ovom vodiču usredotočiti na stvaranje i inicijalizaciju nizova prije nego što prijeđemo na druge koncepte.
Što ćete naučiti:
- Kako objaviti niz u Javi?
- Instancirajte i inicijalizirajte Java niz
- Inicijalizacija i pristup elementima niza
- Često postavljana pitanja
- Zaključak
- Preporučena literatura
Kako objaviti niz u Javi?
U Javi se jednodimenzionalni niz deklarira na jedan od sljedećih načina:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Ovdje 'data_type' određuje vrstu podataka koje će niz sadržavati. 'Tip_datoteke' može biti primitivni tip podataka ili bilo koji izvedeni tip.
Na primjer, niz myarray tipa cijeli broj se deklarira na sljedeći način:
int () myarray;
ILI
int () myarray;
ILI
int myarray ();
To znači da će niz myarray sadržavati elemente tipa podataka int.
Imajte na umu da, budući da se nizovi u Javi dinamički dodjeljuju, deklaracijom ne specificiramo nikakvu dimenziju ili veličinu niza. Gornja deklaracija govori prevoditelju da postoji varijabla niza 'myarray' tipa int koja će u nju pohraniti vrijednosti cijelog broja.
Prevoditelj ne zna veličinu ili stvarne vrijednosti pohranjene u polju. To će znati samo nakon što inicijaliziramo niz.
Instancirajte i inicijalizirajte Java niz
Već smo deklarirali niz u prethodnom odjeljku. Ali ovo je samo referenca. Da biste koristili gore deklariranu varijablu niza, morate je instancirati, a zatim pružiti vrijednosti za nju. Niz je instanciran pomoću 'new'.
Opća sintaksa instanciranja je sljedeća:
array_name = new data_type (size);
U gornjoj izjavi, array_name je ime niza koji je instanciran.
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Stoga, kada s nizom koristite novo, zapravo dodjeljujete polje s vrstom podataka i brojem elemenata.
Dakle, gore deklarirani niz myarray može se izvesti na sljedeći način:
myarray = new int(10)
Stoga stvaranje niza u Javi uključuje dva koraka kako je prikazano u nastavku:
razlika između ispitivanja dima i razuma
int() myarray; //declaration myarray = new int(10); //instantiation
Jednom kada je niz stvoren, možete ga inicijalizirati vrijednostima kako slijedi:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
Izraz u uglatim zagradama gore naziva se indeks niza. Indeks niza koristi se za pristup stvarnoj vrijednosti elemenata, tj. Gornji niz miarray od 10 int elemenata imat će indekse numerirane od 0 do 9. Elementu niza možete pristupiti na određenom položaju tako što ćete indeks navesti kao iznad.
Imajte na umu da indeks niza uvijek počinje od 0. Alternativno, inicijalizaciju možete obaviti i pomoću petlje koju ćemo vidjeti kasnije.
Također možete koristiti literal niza i inicijalizirati niz tijekom same deklaracije, kao što je prikazano dolje:
int() myarray = {1,3,5,7};
U gornjoj izjavi duljina niza određuje se brojem elemenata. Također, kao što vidite nema potrebe za korištenjem 'novog'. Što je još važnije, deklaracija, instancija i inicijalizacija niza vrši se u jednoj izjavi.
Dolje je dat jednostavan primjer programiranja deklariranja i inicijalizacije niza.
public class Main { public static void main(String() args) { int() myarray; //declaration myarray = new int(5); //instantiation myarray(0) = 10; //initialization System.out.println('myarray(0) = ' + myarray(0)); //accessing and printing array elements System.out.println('myarray(1) = ' + myarray(1)); int () oddArray = {1,3,5,7}; //initialization with array literal System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); } }
Izlaz:
Ovaj je program pokazao deklaraciju niza i njegovu instanciju kao i inicijalizaciju. Imajte na umu da, jer smo inicijalizirali samo othvrijednost myarray, druga vrijednost myarray (1) koja se ispisuje ima zadanu vrijednost, tj. 0.
Drugi niz demonstrira literalnu varijablu niza. Čak i ako ne inicijalizirate niz, Java prevodilac neće dati pogrešku. Obično, kada niz nije inicijaliziran, kompajler svakom elementu niza dodjeljuje zadane vrijednosti prema vrsti podataka elementa.
Pokazati ćemo ove zadane vrijednosti pomoću sljedećeg programa.
class Main { public static void main(String() args) { System.out.println('=======Default Values======'); System.out.print('String Array:'); String() array_str = new String(5); //declaration and instantiation for (String str : array_str) //assumes default values System.out.print(str + ' '); System.out.println('
'); System.out.print('Integer array:'); //array only instantiated not initialized int() array_num = new int(5); for (intnum : array_num) System.out.print(num + ' '); System.out.println('
'); System.out.print('Double array:'); //array only instantiated not initialized doublearray_double() = new double(5); for (double dnum : array_double) System.out.print(dnum + ' '); System.out.println('
'); System.out.print('Boolean array:'); //array only instantiated not initialized booleanarray_bool() = new boolean(5); for (booleanbval : array_bool) System.out.print(bval + ' '); System.out.println('
'); } }
Izlaz:
U gore navedenom programu, upravo smo ih proglasili i napravili instancu. Nismo ih inicijalizirali ni u kakve vrijednosti. Dakle, kada prikazujemo sadržaj tih nizova, ovisno o vrsti podataka niza, elementi će imati različite zadane vrijednosti.
Kao što se vidi gore, niz niza zadani je kao 'null', cjelobrojne vrijednosti su 0, a dvostruke vrijednosti zadane na 0,0. Logičke vrijednosti imaju zadane vrijednosti postavljene na false.
pitanja i odgovori za kuharske alate
Inicijalizacija i pristup elementima niza
# 1) Korištenje za petlju
Gore napisani program koristi literal niza za inicijalizaciju, a ostali elementi niza inicijaliziraju se odvojeno. Također možete koristiti for petlju za inicijalizaciju elemenata niza.
Pretvorili smo gornji niz pomoću array literala kako bismo ga inicijalizirali pomoću for petlje u donjem programu.
public class Main { public static void main(String() args) { int() oddArray; //declaration oddArray = new int(5); //instantiation for(int i=0;i<5;i++){ oddArray(i) = i+1; //initialization using for loop } System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); System.out.println('oddArray(4) = ' + oddArray(4)); } }
Izlaz:
Ovdje smo, kao što vidite, inicijalizirali niz pomoću for petlje. Svaki element 'i' niza inicijalizira se vrijednošću = i + 1. Osim što koristite gornju metodu za inicijalizaciju nizova, također možete koristiti neke od metoda klase ‘Nizovi’ paketa ‘java.util’ kako biste pružili početne vrijednosti za niz.
U nastavku ćemo razmotriti neke od ovih metoda.
# 2) Korištenje Arrays.fill ()
Metoda fill () klase ‘Arrays’ može se koristiti za inicijalizaciju niza. Kada inicijalizirate niz pomoću ove metode, niz se ispunjava istim vrijednostima u svim indeksima.
Dolje je dat primjer programiranja.
import java.util.*; public class Main { public static void main(String() args) { int() oddArray; oddArray = new int(5); //fill the array with value 30 Arrays.fill(oddArray, 30); System.out.println('Array Elements initialised with Arrays.fill:'); for(int i=0;i<5;i++) System.out.println('oddArray(' + i +') = ' + oddArray(i)); } }
Izlaz:
U gore navedenom programu dali smo 30 kao vrijednost koju treba popuniti za niz. Izlaz pokazuje da svi elementi u polju imaju vrijednost 30.
# 3) Korištenje Arrays.copyOf ()
Koristeći metodu ‘copyOf ()’, koristimo izvorni niz, a zatim kopiramo njegove vrijednosti u novi niz. Možete odrediti koliko vrijednosti treba kopirati i tada će preostali elementi niza imati zadane vrijednosti.
Provjerite sljedeći program.
import java.util.*; public class Main { public static void main(String() args) { int evenArray() = { 2,4,6,8,10 }; //copy contents of evenArray to copyof_Array int() copyof_Array = Arrays.copyOf(evenArray,5); System.out.println('Array Elements initialised with Arrays.copyOf:'); //print the array elements for(int i=0;i<5;i++) System.out.println('copyof_Array(' + i +') = ' + copyof_Array(i)); } }
Izlaz:
U ovom programu koristimo izvorni niz nazvan 'evenArray'. Koristeći copyOf metodu kopirali smo sve elemente evenArray u novi niz. U izlazu prikazujemo sadržaj novog polja koji je isti kao evenArray.
Osim gornje dvije metode, upravo smo razgovarali o tome da postoji više metoda poput metode setAll () klase Arrays i metode clone () ArrayUtils koje se mogu koristiti za inicijalizaciju nizova. Te ćemo metode razmotriti kasnije u ovom priručniku u odgovarajućim temama.
Često postavljana pitanja
P # 1) Možemo li proglasiti niz bez veličine?
Odgovor: Ne. Nije moguće deklarirati niz bez navođenja veličine. Ako to uopće želite učiniti, tada možete koristiti ArrayList koji je dinamične prirode.
P # 2) Je li veličina niza fiksna u Javi?
Odgovor: Da. Nizovi su statični u Javi i deklarirate niz određene veličine. Jednom kada je navedena veličina, ne možete je više mijenjati.
P # 3) Je li uvijek potrebno koristiti novo tijekom inicijalizacije nizova?
Odgovor: Ne. Nizovi se mogu inicijalizirati pomoću novih ili dodjeljivanjem vrijednosti odvojenih zarezom zatvorenih u kovrčave zagrade.
Dakle, kada inicijaliziramo niz koristeći Array literal kako je prikazano dolje. Ne trebate koristiti nove.
int() myarray = {1,2,3,4,5};
Broj ponuđenih elemenata odredit će veličinu niza.
P # 4) Je li Java Array moguće serializirati?
Odgovor: Da. Interno Array u Javi implementira sučelje koje se može serirati.
P # 5) Je li vrsta podataka primitivnog niza?
Odgovor: Ne. Zapravo, niz uopće nije vrsta podataka. Niz je objekt kontejnera koji sadrži elemente određenih tipova podataka na susjednim memorijskim mjestima.
Zaključak
Ovo sažima stvaranje i inicijalizaciju nizova u Javi. Nakon što se nizovi kreiraju i inicijaliziraju u neke vrijednosti, trebamo ih ispisati. Za ispis elemenata niza trebamo preći čitav niz i ispisati elemente.
Istražit ćemo neke od metoda ispisa elemenata niza u našem sljedećem vodiču.
Preporučena literatura
- Java sučelje i udžbenik sažetka klase s primjerima
- Uvod u programski jezik Java - Video vodič
- Java niti s metodama i životnim ciklusom
- JAVA Tutorial za početnike: 100+ praktičnih Java Video tutorijala
- Vodič o dužini Java polja s primjerima koda
- C # niz: Kako deklarirati, inicijalizirati i pristupiti nizu u C #?
- Java Hello World - Stvorite svoj prvi program u Javi danas
- Uvod u Java nizove i srodne koncepte