1. Massiv — bu elementlər üçün konteynerdir
Yəqin eşitmisiniz ki, kompüterlər çox böyük həcmdə məlumatları işləyə bilir. Şərt operatoru (if-else
) və dövrələr (for
, while
), əlbəttə, bu işdə kömək edir. Amma təkcə bunlarla uzağa getmək mümkün deyil, çünki işlənən məlumatları haradasa saxlamaq lazımdır.
Bu məqsədlə Java-da, həmçinin digər bir çox proqramlaşdırma dillərində, massivlər (Array
) kimi əla bir şey mövcuddur. Onlara bəzən cədvəllər də deyirlər.
Massiv — bu xüsusi bir obyektdir ki, burada təkcə bir dəyər deyil, həm də bir neçə dəyər saxlamaq mümkündür.
Əgər əvvəllər dəyişəni bir qutu ilə müqayisə etsək (harada ki, hər hansı bir dəyər saxlamaq olar), massiv isə içəridə bölmələrə ayrılmış bir qutuya bənzəyir. “Massiv-qutusunun” hər bölməsinin öz nömrəsi var. Nömrələmə, təbii ki, sıfırdan başlayır...
Yaxud başqa bir analogiya keçirək. Gəlin adi bir yaşayış evini və çoxmərtəbəli binanı müqayisə edək. Adi evdə bir ailə yaşayır, amma çoxmərtəbəli bina mənzillərə bölünmüşdür. Adi evdə yaşayan ailəyə məktub yazmaq üçün onun unikal ünvanını göstərmək lazımdır. Amma çoxmərtəbəli binada yaşayan ailəyə məktub yazmaq üçün binanın unikal ünvanını və əlavə olaraq mənzilin nömrəsini göstərmək lazımdır.
Belə ki, dəyişən-massiv — dəyişən-çoxmərtəbəli binadır. Burada təkcə bir yox, bir neçə dəyər saxlamaq olar. Belə dəyişəndə bir neçə mənzil (hüceyrə) var ki, onların hər birinə öz nömrəsi (indeksi) ilə müraciət etmək olar.
Bunun üçün dəyişənin adından sonra kvadrat mötərizələrdə müraciət etdiyimiz hüceyrənin indeksini göstərmək lazımdır. Bu olduqca sadədir:
array[indeks] = dəyər;
Burada array
— massiv-dəyişənin adı, indeks
— massivdəki hüceyrənin nömrəsi, dəyər
isə həmin hüceyrəyə yazmaq istədiyimiz dəyərdir.
Amma gəlin əvvəlcə massivlərin necə yaradıldığını öyrənək.
2. Java-da elementlər massivinin yaradılması
Tutalım, proqramınıza 100
tam ədədi haradasa saxlamaq lazımdır. Yəqin ki, bunun üçün massiv yararlı olardı. Bəs onu necə yaratmaq olar?
Əgər bir tam ədəd saxlamaq istəsəydik, bizə int
tipi kifayət edərdi, amma 100
tam ədəd saxlamaq istəyiriksə, çox güman ki, bizə massiv tipində bir int
lazımdır. Onun yaradılması üçün kod belə görünəcək:
int[] array = new int[100];
Gəlin görək, burada nə yazılıb.
Böyük ehtimalla artıq fərziyə yürütmüsünüz ki, bərabərlik işarəsinin sol tərəfində, adı array
olan və tipi int[]
olan dəyişənin elan edilməsi var. int
tipindən sonra gələn kvadrat mötərizələr sanki bizə bu tipin «qutularında» bir deyil, bir neçə dəyər saxlaya biləcəyimizi göstərir.
Bərabərlik işarəsinin sağ tərəfində isə «obyektin yaradılması» (söz new
) və 100
elementlər (xanalar) tipi int yazılıb. Çox da çətin deyil.
Məsələn, əgər biz 20 xana üçün həqiqi ədədlərdən ibarət massiv yaratmaq istəsəydik, onun yaradılması üçün kod təxminən belə görünərdi:
double[] vals = new double[20];
Massivin xanalarının sayı massivin ölçüsü və ya massivin uzunluğu adlanır. Bir çox dəyər saxlamaq qabiliyyətinə görə massivlərə həm də konteyner deyilir.
Əhəmiyyətli fakt: massiv konteynerinin ölçüsünü yaradıldıqdan sonra dəyişmək olmaz.
Yeni bir dənə yarada bilərsiniz, amma artıq yaradılmış konteynerin uzunluğunu dəyişməyə icazə verilmir.
3. Massivin hüceyrələri ilə iş
Yaxşı, massiv yaratmağı öyrəndik, bəs onlarla düzgün işləməyi necə edəcəyik?
Bunun üçün adi dəyişkənlər ilə işlə bənzərlik təşkil edilir, sadəcə massiv dəyişkəninin adından sonra mütləq şəkildə işlədiyiniz hüceyrənin nömrəsini göstərməlisiniz.
Massiv hüceyrələrinin nömrələməsi həmişə sıfırdan başlayır. Əgər bizim 10
elementdən ibarət massivimiz varsa, onun hüceyrələrinin nömrələri (indeksləri) 0..9
olacaq, əgər massiv 200
elementdən ibarətdirsə, o zaman 0..199
. Bu qayda ilə davam edir.
Nümunələr:
Kod | İzah |
---|---|
|
Biz 10 elementdən ibarət int tipdə massiv yaradırıq.2 indeksli hüceyrəyə 4 dəyər yazırıq.7 indeksli hüceyrəyə 9 dəyər yazırıq.9 indeksli hüceyrəyə 2 indeksli hüceyrədə saxlanan 4 ilə 5 indeksli hüceyrədə saxlanan 0 -ın cəmini yazırıq. |
Bu kodu işlətdikdən sonra yaddaşda saxlanacaq məlumatlar belə olacaq:
Sol sütun (boz rəngdə) — hüceyrələrin nömrələri (indeksləri). Hüceyrələrdə yerləşdirilən dəyərlər: 4
, 9
və 4
. Massiv yaradılandan sonra hüceyrələr əvvəlcə sıfırlarla doldurulur.
Vacib. Massivin bütün hüceyrələrinin məlumat tipi eyni olmalıdır. Əgər biz String
massivi yaratmışıqsa, onun hüceyrələrində yalnız sətirlər saxlaya bilərik. Massivin məlumat tipi onun yaradılarkən təyin edilir. Nə məlumat tipini, nə də massiv uzunluğunu sonradan dəyişmək mümkün deyil.
GO TO FULL VERSION