Ha egy programnak több azonos értékkel kell dolgoznia adattípus, kijelentheti a változó minden számra. Például egy program, amely megjeleníti a lottószámokat:
int lottószám1 = 16;
int lottószám2 = 32;
int lottószám3 = 12;
int lottószám4 = 23;
int lottószám5 = 33;int lottószám6 = 20;
Az összevonható értékek kezelésének elegánsabb módja egy tömb használata. A tömb olyan tároló, amely rögzített számú adattípust tartalmaz. A fenti példában a lottószámok csoportosíthatók egy int tömbbe:
int [] lotteryNumbers = {16,32,12,23,33,20};
Gondolj egy tömbre mint dobozsorra. A tömb mezőinek száma nem változhat. Mindegyik dobozban lehet egy érték, feltéve, hogy ugyanaz az adattípus, mint a többi dobozban szereplő értékek. A doboz belsejében megnézheti, hogy milyen értéket tartalmaz, vagy helyettesítheti a doboz tartalmát egy másik értékkel. Ha tömbökről beszélünk, akkor a négyzeteket elemeknek nevezzük.
Egy tömb deklarálása és inicializálása
A tömb deklarációs nyilatkozata hasonló a megszokotthoz deklaráljon minden más változót
. Az adattípust és a tömb nevét tartalmazza - az egyetlen különbség az, hogy szögletes zárójelek szerepeljenek az adattípus mellett:int [] intArray;
úszó [] floatArray;char [] charArray;
Az nyilatkozatok fent mondja meg a fordítónak, hogy
intArraya változó egy tömbje
ints,
floatArrayegy tömbje
úszikés
charArrayegy karakterlánc tömb. Mint minden változó, ezek sem használhatók, amíg nem érték inicializálásával inicializálják. Egy tömbhez egy érték hozzárendelésekor egy tömbnek meg kell határoznia a tömb méretét:
intArray = új int [10];
A zárójelben lévő szám határozza meg, hogy a tömb hány elemet tartson. A fenti hozzárendelési nyilatkozat egy tíz elemből álló int tömböt hoz létre. Természetesen nincs oka annak, hogy a nyilatkozat és a megbízás nem történhet meg egyetlen nyilatkozatban:
úszó [] floatArray = új úszó [10];
A tömbök nem korlátozódnak a primitív adattípusokra. Objektumok tömbjei hozhatók létre:
Karakterlánc [] neve = új karakterlánc [5];
Tömb használata
Ha a tömb inicializálva van, akkor az elemek értékét hozzárendelheti hozzájuk a tömb indexének felhasználásával. Az index meghatározza a tömb minden elemének helyzetét. Az első elem 0-nál van, a második elem 1-nél és így tovább. Fontos megjegyezni, hogy az első elem indexe 0. Könnyű azt gondolni, hogy mivel egy tömb tíz elemből áll, az index 1 és 10 között van, és nem 0 és 9 között van. Például, ha visszatérünk a lottószámokra, létrehozhatunk egy tömböt, amely 6 elemet tartalmaz, és a lottószámokat hozzárendelhetjük az elemekhez:
int [] lotteryNumbers = új int [6];
lottószámok [0] = 16;
lottószámok [1] = 32;
lottószámok [2] = 12;
lottószámok [3] = 23;
lottószámok [4] = 33;lottószámok [5] = 20;
Az elem kitöltése egy tömbben gyorsulást eredményez, ha az elemek értékeit a deklarációs nyilatkozatba helyezi:
int [] lotteryNumbers = {16,32,12,23,33,20};Karakterlánc [] név = {"John", "James", "Julian", "Jack", "Jonathon"};
Az egyes elemek értékeit pár göndör zárójelbe helyezik. Az értékek sorrendje határozza meg, hogy melyik elemhez rendelték az értéket a 0. indexpozícióval kezdve. A tömb elemeinek számát a göndör zárójelben lévő értékek száma határozza meg.
Egy elem értékének meghatározásához az indexet használják:
System.out.println ("Az első elem értéke" + lotteryNumbers [0]);
Megtudhatja, hogy egy tömbnek hány elemét használja a hosszmező:
System.out.println ("A LotteryNumbers tömbnek van" + lotteryNumbers.length + "elements");
Jegyzet: A hosszúság-módszer használata során az egyik leggyakoribb hiba az, hogy az elfelejtés a hosszúság értékének indexpozícióként történő használata. Ez mindig hibát fog eredményezni, mivel a tömb indexpozíciói 0-tól 1-ig terjednek.
Többdimenziós tömbök
Azokat a tömböket, amelyeket eddig vizsgáltunk, egydimenziós (vagy egydimenziós) tömböknek nevezzük. Ez azt jelenti, hogy csak egy sor elemük van. A tömböknek azonban lehet egynél több dimenziója is. A többdimenziós valójában egy tömb, amely tömböket tartalmaz:
int [] [] lottószámok = {{16,32,12,23,33,20}, {34,40,3,11,33,24}};
A többdimenziós tömb indexe két számból áll:
System.out.println ("Az 1,4 elem értéke" + lottószámok [1] [4]);
Bár a többdimenziós tömbben lévő tömböknek nem kell azonos hosszúságúnak lenniük:
Karakterlánc [] [] név = új karakterlánc [5] [7];
Tömb másolása
Egy tömb másolásához a legegyszerűbb módszer a
arraycopya System osztály módszere. Az
arraycopymódszer használható a tömb összes elemének vagy részének másolására. Öt paraméter került át a
arraycopymódszer - az eredeti tömb, az index helyzete az elem másolásának megkezdéséhez, az új tömb, az index pozíció, amellyel beilleszteni, a másolandó elemek száma:
nyilvános statikus void arraycopy (Object src, int srcPos, Object dest, int destPos, int length)
Például új tömb létrehozásához, amely tartalmazza az an utolsó négy elemét
intsor:
int [] lotteryNumbers = {16,32,12,23,33,20};
int [] newArrayNumbers = új int [4];System.arraycopy (lottószámok, 2, newArrayNumbers, 0, 4);
Mivel a tömbök rögzített hosszúságúak, a
arraycopymódszer hasznos módszer lehet a tömb méretének megváltoztatására.
A tömbökkel kapcsolatos ismeretek továbbfejlesztéséhez megismerheti a tömbök tömbökkel történő manipulálását osztályozás és dinamikus tömbök készítése (vagyis tömbök, ha az elemek száma nem rögzített szám) használni a ArrayList osztály.