Kaip dirbti su masyvais: deklaravimas ir inicijavimas

click fraud protection

Jei programa turi veikti su tomis pačiomis reikšmėmis duomenų tipas, galėtumėte paskelbti a kintamasis kiekvienam skaičiui. Pvz., Programa, rodanti loterijos numerius:

int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;
int lotteryNumber6 = 20;

Elegantiškesnis būdas susieti grupes su vertybėmis yra masyvo naudojimas. Masyvas yra konteineris, kuriame yra fiksuotas duomenų tipo verčių skaičius. Aukščiau pateiktame pavyzdyje loterijų numeriai gali būti sugrupuoti į masyvą:

int [] loterijos numeriai = {16,32,12,23,33,20}; 

Pagalvokite apie masyvą kaip dėžutės eilę. Laukelių skaičius masyve negali pasikeisti. Kiekviename laukelyje gali būti reikšmė, jei ji yra to paties tipo duomenų, kaip ir kituose laukeliuose esančios vertės. Galite pasižiūrėti į dėžutės vidų, kad pamatytumėte, kokią vertę joje yra, arba pakeisti dėžutės turinį kita reikšme. Kai kalbame apie masyvus, langeliai vadinami elementais.

Masyvo paskelbimas ir inicijavimas

instagram viewer

Masyvo deklaracijos pareiškimas yra panašus į įprastą deklaruoja bet kurį kitą kintamąjį. Jame yra duomenų tipas, po kurio nurodomas masyvo pavadinimas - skirtumas skiriasi tik su duomenų tipu: skliausteliuose:

int [] intArray;
plūduriuoti [] floatArray; 
char [] charArray;

deklaracijos pareiškimai aukščiau pasakykite sudarytojui, kad

intarpas
kintamasis yra masyvas
ints
,
floatArray
yra masyvas
plūdės
ir
charArray
yra ženklų masyvas. Kaip ir bet kuris kintamasis, jie negali būti naudojami, kol jis nėra inicializuotas, jam priskiriant vertę. Masyvo vertės priskyrimas masyvui turi apibrėžti masyvo dydį:
intArray = naujas int [10]; 

Skaičius skliausteliuose nurodo, kiek elementų turi masyvas. Aukščiau pateiktas priskyrimo teiginys sukuria int masyvą, kuriame yra dešimt elementų. Žinoma, nėra jokios priežasties, kodėl deklaracija ir paskyrimas negali įvykti viename pareiškime:

float [] floatArray = naujas plūdas [10]; 

Masyvai neapsiriboja pirminiais duomenų tipais. Galima sukurti objektų masyvus:

Styginių [] pavadinimai = nauja stygų [5]; 

Naudojant masyvą

Inicializavę masyvą, elementai gali jiems priskirti reikšmes, naudodami masyvo rodyklę. Indeksas nusako kiekvieno elemento vietą masyve. Pirmasis elementas yra ties 0, antrasis - 1 ir t. Svarbu pažymėti, kad pirmojo elemento rodyklė yra 0. Nesunku pagalvoti, nes masyve yra dešimt elementų, todėl indeksas yra nuo 1 iki 10, o ne nuo 0 iki 9. Pavyzdžiui, jei grįžtume prie loterijos numerių pavyzdžio, mes galime sukurti masyvą, kuriame yra 6 elementai, ir susieti loterijos numerius su elementais:

int [] loterijos numeriai = naujas int [6];
loterijos skaičiai [0] = 16;
loterijos skaičiai [1] = 32;
loterijos skaičiai [2] = 12;
loterijos skaičiai [3] = 23;
loterijos skaičiai [4] = 33;
loterijos skaičiai [5] = 20;

Elementų reikšmių užpildymas masyve yra nuoroda pateikiant elementų reikšmes deklaracijos pareiškime:

int [] loterijos numeriai = {16,32,12,23,33,20};
Stygų [] vardai = {"Jonas", "James", "Julian", "Jack", "Jonathon"};

Kiekvieno elemento vertės dedamos į garbanų skliaustų porą. Vertių tvarka lemia, kuriam elementui priskiriama vertė, pradedant nuo rodyklės padėties 0. Elementų skaičius masyve nustatomas pagal verčių skaičių garbanotųjų skliaustų viduje.

Norint gauti elemento vertę, naudojamas jo indeksas:

System.out.println („Pirmojo elemento vertė yra“ + lotteryNumbers [0]); 

Norėdami sužinoti, kiek elementų turi masyvas, naudokite ilgio lauką:

System.out.println („LotteryNumbers masyvas turi“ + lotteryNumbers.length + „elements“); 

Pastaba: Dažna klaida, kai naudojamas ilgio metodas, yra pamiršimas - ilgio reikšmę naudoti kaip indekso vietą. Tai visada sukels klaidą, nes masyvo rodyklės padėtys yra nuo 0 iki 1.

Daugialypiai masyvai

Masyvai, į kuriuos mes iki šiol žiūrėjome, yra žinomi kaip vienmatės (arba vienmatės) masyvai. Tai reiškia, kad jie turi tik vieną elementų eilę. Tačiau masyvai gali turėti daugiau nei vieną dimensiją. Daugialypis yra masyvas, kuriame yra masyvai:

int [] [] loterijos numeriai = {{16,32,12,23,33,20}, {34,40,3,11,33,24}}; 

Daugiamačio masyvo rodyklę sudaro du skaičiai:

System.out.println („Elemento 1,4 reikšmė yra“ + loterijos numeriai [1] [4]); 

Nors masyvų, esančių daugialypiame masyve, ilgis neturi būti vienodas:

Styginių [] [] pavadinimai = nauja stygų [5] [7]; 

Kopijuoti masyvą

Lengviausias būdas nukopijuoti masyvą yra

arraycopy
Sistemos klasės metodas.
arraycopy
metodas gali būti naudojamas nukopijuoti visus masyvo elementus ar jų poskyrį. Yra perduoti penki parametrai
 arraycopy
metodas - pradinis masyvas, rodyklės padėtis, nuo kurios reikia pradėti kopijuoti elementą, naujasis masyvas, rodyklės padėtis, kurią reikia pradėti įterpti, elementų, kuriuos reikia nukopijuoti, skaičius:
vieša statinė tuštumų masyvokopija (Object src, int srcPos, Object dest, int destPos, int length)

Pvz., Norėdami sukurti naują masyvą, kuriame yra paskutiniai keturi an. Elementai

int 
masyvas:
int [] loterijos numeriai = {16,32,12,23,33,20};
int [] newArrayNumbers = naujas int [4];
„System.arraycopy“ (loterijos numeriai, 2, „newArrayNumbers“, 0, 4);

Kadangi masyvai yra fiksuoto ilgio,

arraycopy
metodas gali būti naudingas būdas pakeisti masyvo dydį.

Norėdami daugiau sužinoti apie masyvus, galite sužinoti apie manipuliavimą masyvais, naudodami masyvus klasė ir dinaminių masyvų sudarymas (t. y. masyvai, kai elementų skaičius nėra fiksuotas skaičius) naudojant „ArrayList“ klasė.

instagram story viewer