Massivlər

Java SELF AZ
Səviyyə , Dərs
Mövcuddur

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.

Massivlər (Array) Java

Ə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ı

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ş

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
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
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:

int tipində massiv hüceyrələri ilə iş

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, 94. 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.


Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION