java array declare
Ta poglobljena vadnica razlaga različne načine za prijavo, ustvarjanje in inicializacijo novega polja z vrednostmi v Javi s pomočjo preprostih primerov kode:
V prejšnji vadnici smo razpravljali o osnovah nizov v Javi, skupaj z različnimi koncepti, povezanimi z nizi, ki jih bomo podrobno spoznali v tej vadnici.
Prvi in najpomembnejši korak pri nizih je njihovo ustvarjanje. Zavedati se morate, katere vrste elementov in koliko elementov boste shranili v nize. Ko deklarirate matriko, jih boste morda želeli inicializirati tako, da navedete nekaj začetnih vrednosti, za kar obstajajo različni načini.
Tako se bomo v tej vadnici osredotočili na ustvarjanje in inicializacijo nizov, preden preidemo na druge koncepte.
Kaj se boste naučili:
- Kako prijaviti polje v Javi?
- Instancirajte in inicializirajte matriko Java
- Inicializacija in dostop do elementov matrike
- Pogosto zastavljena vprašanja
- Zaključek
- Priporočeno branje
Kako prijaviti polje v Javi?
V Javi se enodimenzionalno polje razglasi na enega od naslednjih načinov:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Tukaj vrsta podatkov določa vrsto podatkov, ki jih bo hranila matrika. „Tip_podatkov“ je lahko primitiven podatkovni tip ali kateri koli izpeljani tip.
Na primer, matriko myarray tipa celo število je navedeno na naslednji način:
int () myarray;
ALI
int () myarray;
ALI
int myarray ();
To pomeni, da bo matrika myarray vsebovala elemente podatkovnega tipa int.
Ker so nizi v Javi dinamično dodeljeni, z izjavo ne določimo nobene dimenzije ali velikosti polja. Zgornja izjava sporoča prevajalniku, da obstaja spremenljivka matrike 'myarray' tipa int, ki bo v njej shranila vrednosti celoštevilskih tipov.
Prevajalnik ne pozna velikosti ali dejanskih vrednosti, shranjenih v matriki. To bo vedelo šele, ko bomo inicializirali matriko.
Instancirajte in inicializirajte matriko Java
V prejšnjem razdelku smo že razglasili matriko. Ampak to je le referenca. Če želite uporabiti zgoraj deklarirano spremenljivko matrike, jo morate ustvariti v primerku in nato vnesti vrednosti. Matrika se ustvari z uporabo 'new'.
Splošna sintaksa instanciranja je naslednja:
array_name = new data_type (size);
V zgornjem stavku je array_name ime matrike, ki je instancirana.
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Ko torej z matriko uporabljate novo, dejansko dodelite matriko s podatkovnim tipom in številom elementov.
Torej lahko zgoraj deklarirano matriko myarray ustvarim na naslednji način:
myarray = new int(10)
Tako ustvarjanje polja v Javi vključuje dva koraka, kot je prikazano spodaj:
int() myarray; //declaration myarray = new int(10); //instantiation
Ko je matrika ustvarjena, jo lahko inicializirate z naslednjimi vrednostmi:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
Izraz v oglatih oklepajih zgoraj se imenuje indeks matrike. Indeks matrike se uporablja za dostop do dejanske vrednosti elementov, tj. Zgornji niz miarray 10 elementov int bo imel indekse, oštevilčene od 0 do 9. Do elementa matrike lahko dostopate na določenem mestu, tako da indeks določite kot zgoraj.
Primer razreda dvojno povezanega seznama c ++
Upoštevajte, da se indeks matrike vedno začne z 0. Lahko pa tudi inicializirate z zanko, ki jo bomo videli kasneje.
Uporabite lahko tudi literal matrike in inicializirate matriko med samo deklaracijo, kot je prikazano spodaj:
int() myarray = {1,3,5,7};
V zgornjem stavku je dolžina polja določena s številom elementov. Kot lahko vidite, ni treba uporabljati 'novega'. Še pomembneje je, da se deklaracija, instancacija in inicializacija matrike izvede v enem samem stavku.
Spodaj je prikazan preprost programski primer deklariranja in inicializacije polja.
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)); } }
Izhod:
Ta program je prikazal izjavo matrike in njeno instanciranje ter inicializacijo. Upoštevajte, da kot smo samo inicializirali othvrednost myarray, druga vrednost myarray (1), ki je natisnjena, ima privzeto vrednost, tj. 0.
Druga matrika prikazuje spremenljivko dobesednega polja. Tudi če matrike ne inicializirate, prevajalnik Java ne bo dal nobene napake. Kadar matrika ni inicializirana, prevajalnik vsakemu elementu matrike dodeli privzete vrednosti glede na podatkovni tip elementa.
Te privzete vrednosti bomo prikazali s pomočjo naslednjega 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('
'); } }
Izhod:
V zgornjem programu smo jih pravkar razglasili in ustvarili. Nismo jih inicializirali na nobene vrednosti. Ko bomo torej prikazali vsebino teh nizov, bodo elementi imeli različne privzete vrednosti, odvisno od podatkovnega tipa polja.
Kot je razvidno zgoraj, ima niz nizov privzeto vrednost »null«, celoštevilčne vrednosti so 0, dvojne vrednosti pa privzete na 0,0. Logiške vrednosti imajo privzete vrednosti nastavljene na false.
Inicializacija in dostop do elementov matrike
# 1) Uporaba za zanko
Zgoraj napisani program za inicializacijo uporablja literal matrike, drugi elementi matrike pa se inicializirajo ločeno. Z zanko lahko uporabite tudi za inicializacijo elementov polja.
Zgornjo matriko smo pretvorili z dobesedno matriko, da jo inicializiramo s pomočjo zanke v spodnjem 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)); } }
Izhod:
najboljši brezplačni čistilec za Windows 10
Kot lahko vidite, smo matriko inicializirali z zanko for. Vsak element 'i' polja je inicializiran z vrednostjo = i + 1. Poleg uporabe zgornje metode za inicializacijo nizov lahko uporabite tudi nekatere metode razreda ‘Arrays’ iz paketa ‘java.util’, da zagotovite začetne vrednosti za matriko.
V nadaljevanju bomo obravnavali nekatere od teh metod.
# 2) Uporaba Arrays.fill ()
Za inicializiranje matrike je mogoče uporabiti metodo fill () razreda ‘Arrays’. Ko s to metodo inicializirate polje, je polje pri vseh indeksih napolnjeno z enakimi vrednostmi.
Spodaj je primer 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)); } }
Izhod:
V zgornjem programu smo podali 30 kot vrednost, ki jo je treba zapolniti za matriko. Izhod kaže, da imajo vsi elementi v matriki vrednost 30.
# 3) Uporaba Arrays.copyOf ()
Z metodo ‘copyOf ()’ uporabimo izvorno matriko in nato njene vrednosti kopiramo v novo matriko. Določite lahko, koliko vrednosti naj se kopirajo, nato pa bodo imeli preostali elementi polja privzete vrednosti.
Preverite naslednji 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)); } }
Izhod:
V tem programu uporabljamo izvorno polje z imenom 'evenArray'. Z uporabo metode copyOf smo v novo matriko kopirali vse elemente evenArray. V izhodu prikažemo vsebino novega polja, ki je enako kot evenArray.
Poleg zgornjih dveh metod smo pravkar razpravljali o tem, da obstaja še več metod, kot sta metoda setAll () razreda Arrays in metoda clone () ArrayUtils, ki jih je mogoče uporabiti za inicializacijo nizov. Te metode bomo uporabili kasneje v tej vadnici v posameznih temah.
Pogosto zastavljena vprašanja
V # 1) Ali lahko razglasimo polje brez velikosti?
Odgovor: Ne. Ni mogoče prijaviti polja brez navedbe velikosti. Če sploh želite to narediti, lahko uporabite ArrayList, ki je dinamične narave.
V # 2) Ali je velikost matrike v Javi določena?
Odgovor: Da. Polji so v Javi statični in prijavite polje z določeno velikostjo. Ko je določena ta velikost, je ne morete več spremeniti.
V # 3) Ali je pri inicializaciji nizov vedno treba uporabiti novo?
Odgovor: Ne. Nizov je mogoče inicializirati z novimi ali z dodeljevanjem vrednosti, ločenih z vejico, zaprtih v zavite oklepaje.
Torej, ko inicializiramo matriko z uporabo dobesedne matrike, kot je prikazano spodaj. Ni vam treba uporabljati novih.
int() myarray = {1,2,3,4,5};
Število ponujenih elementov bo določilo velikost matrike.
V # 4) Ali je Java Array mogoče serializirati?
Odgovor: Da. Interno Array v Javi izvaja vmesnik, ki ga je mogoče serirati.
V # 5) Ali je primitivni podatkovni tip array?
Odgovor: Ne. V bistvu matrika sploh ni podatkovni tip. Matrika je objekt vsebnika, ki vsebuje elemente določenih podatkovnih tipov na sosednjih lokacijah pomnilnika.
Zaključek
To povzema ustvarjanje in inicializacijo nizov v Javi. Ko so nizi ustvarjeni in inicializirani na nekatere vrednosti, jih moramo natisniti. Za tiskanje elementov polja moramo prehoditi celotno matriko in natisniti elemente.
V naslednjem priročniku bomo preučili nekaj načinov tiskanja elementov matrike.
Priporočeno branje
- Vadnica Java vmesnika in abstraktnega razreda s primeri
- Uvod v programski jezik Java - Video vadnica
- Java niti z metodami in življenjskim ciklom
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- Vadnica za dolžino polja Java s primeri kode
- Matrika C #: Kako prijaviti, inicializirati in dostopati do matrike v jeziku C #?
- Java Hello World - Ustvarite svoj prvi program v Javi danes
- Uvod v nize Java in sorodne koncepte