Kuinka työskennellä ryhmien kanssa: Julistaminen ja alustaminen

Jos ohjelman on toimittava useiden samojen arvojen kanssa tietotyyppi, voisit julistaa a muuttuja jokaiselle numerolle. Esimerkiksi ohjelma, joka näyttää arvonumerot:

int-arpajaistenumero1 = 16;
int-arpajaistenumero2 = 32;
int-arpajaistenumero3 = 12;
int-arpajaistenumero4 = 23;
int-arpajaistenumero5 = 33;
int-arpajaistenumero6 = 20;

Elegantti tapa käsitellä arvoja, jotka voidaan ryhmitellä toisiinsa, on käyttää taulukkoa. Taulukko on säilö, jossa on kiinteä määrä tietotyypin arvoja. Yllä olevassa esimerkissä arpajaisten numerot voitaisiin ryhmitellä int-ryhmään:

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

Ajattele taulukkoa laatikkorivinä. Taulukoiden lukumäärä taulukossa ei voi muuttua. Jokaisessa ruudussa voi olla arvo niin kauan kuin se on samaa tietotyyppiä kuin muissa ruuduissa olevat arvot. Voit katsoa laatikon sisällä nähdäksesi mitä arvoa se sisältää tai korvata laatikon sisällön toisella arvolla. Kun puhutaan matriiseista, ruutuja kutsutaan elementeiksi.

Matriisin julistaminen ja alustaminen

instagram viewer

Matriisin ilmoituslauseke on samanlainen kuin aiemmin käytetty ilmoita muut muuttujat. Se sisältää tietotyypin ja taulukon nimen - ainoa ero on hakasulkeiden sisällyttäminen tietotyypin viereen:

int [] intArray;
kellua [] floatArray; 
char [] charArray;

ilmoituslausunnot yllä kerro kääntäjälle, että

intArray
muuttuja on joukko
ints
,
floatArray
on joukko
kellukkeet
ja
charArray
on joukko merkkejä. Kuten mitä tahansa muuttujaa, niitä ei voida käyttää, ennen kuin se on alustettu määrittämällä sille arvo. Matriisin arvolle osoittamisella on määritettävä taulukon koko:
intArray = uusi int [10]; 

Suluissa oleva numero määrittelee kuinka monta elementtiä taulukko pitää. Yllä oleva toimeksianto luo int-taulukon, jossa on kymmenen elementtiä. Tietenkin, ei ole mitään syytä, miksi ilmoitus ja toimeksianto eivät tapahdu yhdessä lausunnossa:

kelluva [] floatArray = uusi kelluva [10]; 

Taulukot eivät ole rajoittuneet primitiivisiin tietotyyppeihin. Objektiryhmiä voidaan luoda:

Merkkijono [] nimet = uusi merkkijono [5]; 

Matriisin käyttäminen

Kun taulukko on alustettu, elementeille voidaan antaa arvot niille taulukon hakemistoa käyttämällä. Hakemisto määrittelee kunkin elementin sijainnin taulukossa. Ensimmäinen elementti on 0: ssa, toinen elementti 1: ssä ja niin edelleen. On tärkeää huomata, että ensimmäisen elementin indeksi on 0. On helppo ajatella, että koska taulukossa on kymmenen elementtiä, indeksi on 1-10 sijaan 0 - 9. Esimerkiksi, jos palaamme takaisin arpajaisten numeronäyttöön, voimme luoda taulukon, joka sisältää 6 elementtiä, ja antaa arvonumerot elementeille:

int [] lotteryNumbers = uusi int [6];
arpajaistenumerot [0] = 16;
arpajaistenumerot [1] = 32;
arpajaistenumerot [2] = 12;
arpajaistenumerot [3] = 23;
arpajaistenumerot [4] = 33;
arpajaistenumerot [5] = 20;

Taulukoiden elementtien täyttämiseen on oikotie asettamalla elementtien arvot ilmoitusselvitykseen:

int [] arpajaistenumerot = {16,32,12,23,33,20};
Merkkijono [] nimet = {"John", "James", "Julian", "Jack", "Jonathon"};

Kunkin elementin arvot sijoitetaan kiharakiinnikkeiden parin sisään. Arvojen järjestys määrää, mille elementille osoitetaan arvo alkaen indeksipaikasta 0. Matriisin elementtien lukumäärä määräytyy kiharasulkujen sisällä olevien arvojen lukumäärän perusteella.

Elementin arvon saamiseksi käytetään indeksiä:

System.out.println ("Ensimmäisen elementin arvo on" + lotteryNumbers [0]); 

Selvittääksesi kuinka monta elementtiä taulukolla on pituuskentän avulla:

System.out.println ("LotteryNumbers-taulukossa on" + lotteryNumbers.length + "elements"); 

Huomautus: Yleinen virhe pituusmenetelmää käytettäessä on unohtaa, että pituuden arvoa käytetään indeksipaikkana. Tämä johtaa aina virheeseen, koska taulukon indeksipaikat ovat välillä 0 - 1.

Moniulotteiset taulukot

Taulukot, joita olemme tähän mennessä tarkastelleet, tunnetaan yhden ulottuvuuden (tai yhden ulottuvuuden) taulukkoina. Tämä tarkoittaa, että heillä on vain yksi rivi elementtejä. Matriiseilla voi kuitenkin olla useampi kuin yksi ulottuvuus. Moniulotteinen on oikeastaan ​​taulukko, joka sisältää taulukot:

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

Moniulotteisen taulukon hakemisto koostuu kahdesta numerosta:

System.out.println ("Elementin 1,4 arvo on" + lotteryNumbers [1] [4]); 

Vaikka moniulotteisessa taulukossa olevien taulukkojen pituuden ei tarvitse olla sama pituus:

Merkkijono [] [] nimet = uusi merkkijono [5] [7]; 

Kopioi taulukko

Matriisin kopioiminen on helpoin tapa käyttää

arraycopy
järjestelmäluokan menetelmä.
arraycopy
menetelmää voidaan käyttää kopioimaan kaikki taulukon elementit tai niiden osa. Siirtymiseen on viisi parametria
 arraycopy
menetelmä - alkuperäinen taulukko, hakemiston sijainti elementin kopioinnin aloittamiseksi, uusi taulukko, hakemiston sijainti aloittamisen lisäämiseksi, kopioitavien elementtien lukumäärä:
julkinen staattinen tyhjä arraycopy (Object src, int srcPos, Object dest, int destPos, int pituus)

Esimerkiksi luodaksesi uuden taulukon, joka sisältää an: n neljä viimeistä elementtiä

int 
array:
int [] arpajaistenumerot = {16,32,12,23,33,20};
int [] newArrayNumbers = uusi int [4];
System.arraycopy (lotteryNumbers, 2, newArrayNumbers, 0, 4);

Koska taulukot ovat kiinteä pituus,

arraycopy
menetelmä voi olla hyödyllinen tapa muuttaa taulukon kokoa.

Jatkaa tietämystäsi taulukoista saat oppia käsittelemään taulukkoja käyttämällä taulukkoja luokka ja dynaamisten taulukkojen muodostaminen (ts. taulukot, kun elementtien lukumäärä ei ole kiinteä luku) käyttämällä ArrayList-luokka.