Előadásrészlet egy mentorral a Codegym University tanfolyam részeként. Jelentkezzen a teljes tanfolyamra.


– Szia Amigo!

– Szia, Ellie!

"Ma egy új és érdekes entitásról mesélek: a tömbökről. A tömb olyan adattípus, amely több értéket is képes tárolni egy helyett."

Tömbök - 1

"Kezdjük egy hasonlattal. Hasonlítsunk össze egy házat és egy bérházat. Egy közönséges házban általában csak egy család lakik, de egy bérház több lakásra van felosztva. Ha levelet szeretne küldeni egy házban élő családnak, akkor meg kell adni a ház egyedi címét. Ha egy társasházban élő családnak szeretne levelet küldeni, meg kell írni a lakóház egyedi címét és a lakás számát."

– Eddig minden világosnak tűnik.

"A tömbváltozó olyan, mint egy lakásépítési változó. Egyetlen helyett sok értéket tárolhat benne. Egy ilyen változónak több lakása (eleme) van, amelyekre egy lakásszám (index) segítségével hivatkozhat. Ehhez a szögletes zárójelben a tömbváltozó neve után jelölje meg az elérni kívánt tömbelem indexét. Elég egyszerű."

– Remélem, Ellie.

"Egy lakásépítési változó (tömbváltozó) bármilyen típusú elemet tartalmazhat. Csak a " Típusnév változó_neve " helyett a " Típusnév[] változó_neve " értéket kell beírnia."

Íme néhány példa:

Kód Leírás
String[] list = new String[5];
Hozzon létre egy Stringtömböt 5elemekkel
System.out.println(list[0]);
System.out.println(list[1]);
System.out.println(list[2]);
System.out.println(list[3]);
System.out.println(list[4]);
Öt ' null ' érték jelenik meg.

Egy adott tömbelem értékének eléréséhez használjon szögletes zárójeleket és az elem indexét.

int listCount = list.length;
listCount5 értéket kap, ami a tömb elemeinek száma list. tárolja a tömb hosszát (elemek számát).
list.length
list[1] = "Mom";
String s = list[1];
Ha objektumokat rendel tömbelemekhez, akkor az elemindexet szögletes zárójelben kell megadni.
for (int i = 0; i < list.length; i++)
{
     System.out.println(list[i]);
}
Jelenítse meg az összes tömbelem értékét a képernyőn.

"Milyen érdekes!"

"Egy tömbváltozó további inicializálást igényel."

— ?

"Szokásos változóval csak deklarálhatod, majd különféle értékeket rendelhetsz hozzá. Tömbnél ez egy kicsit bonyolultabb."

"Először létre kell hoznia egy tárolót, amely N elemet tartalmaz, és csak ezután kezdheti el az értékek elhelyezését a tárolóban."

Kód Leírás
String[] list = null;
A listtömbváltozó nulla . Csak hivatkozást tud tárolni az elemek tárolójára. A tárolót külön kell létrehozni.
String[] list = new String[5];
Hozzon létre egy tárolót 5az elemek számára, és rendeljen hivatkozást a változóhoz list. Ebben a konténerben 5 lakás (elem) található, amelyek számozása 0, 1, 2, 3 és 4.
String[] list = new String[1];
Hozzon létre egy tárolót 1az elem számára, és rendeljen hivatkozást a változóhoz list. Ahhoz, hogy valamit ebbe a tárolóba helyezzünk, valami ilyesmit írnánklist[0] = "Yo!";
String[] list = new String[0];
Hozzon létre egy tárolót 0az elemek számára, és rendeljen hivatkozást a változóhoz list. Ebben a tartályban nem tárolhat semmit.

– Értem. Most már egyre világosabb.

"Íme néhány alapvető tény a tömbökről:"

1) Egy tömb sok elemből áll.

2) Egy adott elem eléréséhez adja meg annak számát (indexét).

3) Minden elem azonos típusú.

4) Az összes elem kezdeti értéke null; primitív típusú tömbök esetén a kezdeti érték 0, 0,0 (törtszámok esetén) vagy false (logikai értékek esetén). Pontosan ugyanaz, mint az inicializálatlan változókkal, amelyek nincsenek tömbökben.

5) A String[] lista egyszerűen deklarál egy változót. Először létre kell hoznia egy tömböt (tárolót), bele kell tenni valamit, és csak ezután kell használnia (lásd az alábbi példát).

6) Amikor tömb (container) objektumot hozunk létre, meg kell adni a hosszát, vagy az elemek számát. Ezt az új TypeName[n] használatával tesszük;

Tömbök - 2

Íme néhány példa:

Kód Leírás
String s;
String[] list;
segyenlő null
listegyenlő nullával
list = new String[10];
int n = list.length;
A listváltozó egy objektumra való hivatkozást tárol – az
n karakterláncok 10 elemű tömbje 10
list = new String[0];
Most egy elemtömböt listtartalmaz . 0A tömb létezik, de nem tud karakterláncokat tárolni.
list = null;
System.out.println(list[1]);
Ez kivételt (futásidejű hibát) dob, és a program rendellenesen leáll: listnull hivatkozást tartalmaz.
list = new String[10];
System.out.println(list[11]);
Ez kivételt (futásidejű hibát) dob: a tömb indexe a határokon kívül esik.

Ha list10 elemet tartalmaz, az érvényes indexek: 0,1,2,3,4,5,6,7,8 és 9 (összesen 10 index).