1. A tömb elemekből álló tároló

Biztosan hallottad már, hogy a számítógépek hatalmas mennyiségű információt képesek feldolgozni. Természetesen itt nagy segítséget jelentenek a feltételes utasítások ( if-else) és a ciklusok ( for, ). whileDe csak idáig vihetnek. Végül is a feldolgozott adatokat valahogy tárolni kell.

Mint szinte minden programozási nyelv, a Java is megkönnyíti az adatfeldolgozást azáltal, hogy egy tömbnek ( Arrayosztálynak) nevezett nagyszerű dolgot biztosít. Néha táblázatoknak is nevezik őket.

A tömb egy speciális objektum, amely nem egy, hanem több érték tárolását teszi lehetővé .

Java tömbök

Korábban egy változót egy dobozhoz hasonlítottunk (amelyben bármilyen érték tárolható). Folytatva ezt a hasonlatot, egy tömböt úgy tekinthetünk, mint egy dobozt, amelynek belső rekeszei vannak. A „doboz” (tömb) minden rekeszének van egy szám. Persze a számozás nulláról indul...

Vagy tehetünk egy másik hasonlatot. Hasonlítsunk össze egy közönséges házat és egy sokemeletes bérházat. Egy közönséges házban egyetlen család lakik, de egy sokemeletes bérház lakásokra van osztva. Ha egy átlagos házban élő családnak szeretne levelet küldeni, adja meg a ház egyedi címét. Ha pedig egy lakásban élő családnak szeretne levelet küldeni, meg kell adni az épület egyedi címét, valamint a lakásszámot.

A tömbváltozó olyan, mint egy magas változó. Nem egy, hanem sok értéket tud tárolni. Egy ilyen változónak több lakása (cellája) van. Mindegyik megszólítható a számával (indexével).

Ehhez a változó neve után a címezni kívánt cella indexét jelöljük meg, az indexet szögletes zárójelbe helyezve. Ez elég egyszerű:

array[index] = value;

Ahol arraya tömbváltozó neve, indexa tömbben lévő cellaszám és valueaz az érték, amelyet a megadott cellába szeretnénk bevinni.

De kezdésként nézzük meg, hogyan hozhatunk létre tömböket.


2. Elemtömb létrehozása Java nyelven

Elemtömb létrehozása Java nyelven

Tegyük fel, hogy a programnak 100valahol egész számokat kell tárolnia. Erre jó jelölt lenne egy tömb. És hogyan lehet létrehozni egyet?

Ha egyetlen egész számot szeretnénk tárolni, a inttípus megfelelne nekünk. De ha egész számokat akarunk tárolni 100, valószínűleg szükségünk van egy s tömbreint . Így nézne ki a kód létrehozásához:

int[] array = new int[100];

Vizsgáljuk meg ezt az állítást.

Ahogy azt sejteni lehetett, az egyenlőségjeltől balra van egy változó deklarációja, arrayamelynek típusa int[]. A inttípust szögletes zárójelek követik, ami arra utal, hogy az ilyen típusú "dobozok" nem egy, hanem több értéket is tárolhatnak.

Az egyenlőségjeltől jobbra van egy példa az "objektum létrehozására" (a newkulcsszó), hogy olyan elemeket (cellákat) kapjunk 100, amelyek típusa int. Nincs itt semmi túl nehéz.

Hasonlóképpen, ha egy 20 cellából álló tömböt szeretnénk létrehozni valós számok tárolására, akkor a kódunk valahogy így nézne ki:

double[] vals = new double[20];

A tömbben lévő cellák számát a tömb méretének vagy a tömb hosszának nevezzük . És mivel a tömbök sok értéket tárolhatnak, konténereknek is nevezik őket.

Íme egy fontos tény: egy tömb méretét nem módosíthatja a létrehozása után .

Létrehozhat újat, de a meglévő tároló hossza nem módosítható.



3. Egy tömb celláival való munka

Egy tömb celláival való munka

Oké, megtanultuk, hogyan kell tömböket létrehozni. Most hogyan dolgozzunk velük?

Nos, majdnem ugyanúgy, mint a közönséges változókkal. Az egyetlen különbség az, hogy a tömbváltozó neve után annak a cellának a számát kell feltüntetnünk, amellyel dolgozunk.

A cellák számozása egy tömbben mindig nulláról kezdődik. Ha van egy elemtömbünk 10, akkor a celláinak számai (indexei) 0..9. Ha a tömb 200elemeket tartalmaz, akkor az indexek 0..199. És így tovább analógia útján.

Példák:

Kód Magyarázat
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
Hozzon létre egy elemtömböt 10 int.
Rendelje hozzá az értéket 4az indexű cellához 2.
Rendelje hozzá az értéket 9az indexű cellához 7.
Az indexszel rendelkező cellába 9írja be a cellákban tárolt értékek összegét 2(amely az értéket tárolja 4) és 5(amely az értéket tárolja 0).

A kód végrehajtása után ez kerül tárolásra a memóriában:

Munka az int tömb celláival 2

A bal oldali oszlop (szürkével) a cellaszámokat (indexeket) jelzi. A cellák a hozzárendelt értékeket tárolják: 4, 9és 4. Amikor a tömb létrejön, a cellái nullákkal vannak feltöltve.

Ez fontos. A tömb minden cellájának adattípusa azonos. Ha létrehozunk egy Strings tömböt, annak celláiban csak karakterláncok tárolhatók. Egy tömb adattípusa a létrehozáskor kerül megadásra. Sem az adattípus, sem a tömb hossza nem módosítható később.