JavaRush /Java Blogu /Random-AZ /Java massivləri
articles
Səviyyə

Java massivləri

Qrupda dərc edilmişdir

Massivlər

Massiv eyni tipli dəyərləri saxlayan məlumat strukturudur. Fərdi massiv elementinə tam ədəd indeksindən istifadə etməklə daxil olur. Məsələn, a tam ədədlər massividirsə, a[i] ifadəsinin qiyməti massivdəki i-ci tam ədədə bərabərdir. Java massivləri - 1Massiv aşağıdakı kimi elan edilir: əvvəlcə massivin tipi, yəni massivdə olan elementlərin növü, sonra bir cüt boş kvadrat mötərizə, sonra isə dəyişənin adı göstərilir. Məsələn, tam ədədlərdən ibarət massivi necə elan etmək olar:
int[] a;
аBununla belə, bu ifadə faktiki massivlə işə salınmadan yalnız dəyişəni elan edir . Massiv yaratmaq üçün operatordan istifadə etməlisiniz new.
int[] a = new int [100];
Bu operator 100 tam ədəddən ibarət massiv yaradır. Bu massivin elementləri 0-dan 99-a qədər nömrələnir (1-dən 100-ə qədər deyil). Yarandıqdan sonra massiv, məsələn, bir döngə istifadə edərək doldurula bilər.
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
Əgər siz 100 elementdən ibarət massiv yaratmaqla elementə а [100](və ya indeksi 0-dan 99-a qədər olan diapazondan kənarda olan hər hansı digər elementə) daxil olmağa cəhd etsəniz, proqram dayandırılacaq, çünki sıradan kənar sıra istisnası baş verəcək. Massivdəki elementlərin sayını hesablamaq üçün Massiv adı metodundan istifadə edin .length. Misal üçün,
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
Massiv yaradıldıqdan sonra onun ölçüsünü dəyişmək mümkün deyil (baxmayaraq ki, siz, əlbəttə, onun ayrı-ayrı elementlərini dəyişə bilərsiniz). Əgər proqramın icrası zamanı massivin ölçüsünü tez-tez dəyişmək lazımdırsa, massiv siyahısı adlanan başqa məlumat strukturundan istifadə etmək daha yaxşıdır. Massiv iki şəkildə elan edilə bilər:
int[] a;
or
int a[];
Əksər Java proqramçıları birinci üsluba üstünlük verirlər, çünki o, massiv tipini int [](tam serial) dəyişən adından daha aydın şəkildə ayırır.

Massiv başlatıcıları və adsız massivlər

Java eyni vaxtda massiv yaratmaq və onu işə salmaq imkanına malikdir. Belə bir sintaktik quruluşa bir nümunə:
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
Qeyd edək ki, bu halda operatordan istifadə etməyə ehtiyac yoxdur new. Bundan əlavə, siz hətta adsız massivi işə sala bilərsiniz:
new int[] {16, 19, 23, 29, 31, 37}
Bu ifadə yaddaşı yeni massiv üçün ayırır və onu əyri mötərizələrdə göstərilən nömrələrlə doldurur. Bu halda onların sayı hesablanır və müvafiq olaraq massivin ölçüsü müəyyən edilir. Bu sintaktik konstruksiya yeni dəyişən yaratmadan massivi yenidən başlatmaq üçün istifadə etmək üçün əlverişlidir. Məsələn, ifadə
smallPrimes = new int{17, 19, 23, 29, 31, 37};
qısaldılmış ifadədir
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
Siz sıfır ölçülü massiv yarada bilərsiniz. Belə massiv boş görünən massivi qiymətləndirən metod yazarkən faydalı ola bilər. Sıfır uzunluqlu massiv aşağıdakı kimi elan edilir:
new тип Элементов[]
Qeyd edək ki, belə massiv obyektə ekvivalent deyil null.

Massivlərin kopyalanması

Bir massiv digərinə kopyalana bilər, lakin hər iki dəyişən eyni massiləyə istinad edəcək.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
Nəticə Şəkildə göstərilmişdir. 3.1. Bir massivin bütün elementlərini digərinə köçürmək lazımdırsa, sinifdən arraycopy metodundan istifadə etməlisiniz System. Onun çağırışı belə görünür:
System.arraycopy(from, fromlndex, to, tolndex, count);
Massiv tokopyalanacaq bütün elementləri ehtiva edəcək qədər böyük olmalıdır. Java massivləri - 2
Şəkil 3.1. Massivin kopyalanması
Məsələn, aşağıda göstərilən operatorlar, nəticələri Şəkildə göstərilmişdir. 3.2, iki massiv yaradın və sonra birinci massivin son dörd elementini ikinciyə köçürün. Kopyalama mənbə massivindəki ikinci mövqedən başlayır və kopyalanan elementlər üçüncü mövqedən başlayaraq hədəf massivdə yerləşdirilir.
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.аrrаусору(smallPrimes, 2, luckyNumbers, 3, 4);
for (int i = 0; i < luckyNumbers.length; i++)
System.out.println(i + ": " + luckyNumbers[i]);
Bu ifadələrin icrası aşağıdakı nəticəni verir.
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
Java massivləri - 3
düyü. 3.2. Massiv Elementlərinin Kopyalanması
Java-da massiv C++-dakı massivdən əhəmiyyətli dərəcədə fərqlənir. Bununla belə, praktiki olaraq dinamik massiv üçün göstərici ilə eynidir. Bu o deməkdir ki, operator
int[] a = new int[100]; //Java
operatora bərabərdir
int* = new int[100]; //C++,
а не
int a[100]; //C++
Java-da []standart operator indeks dəyişikliklərinin diapazonunu yoxlayır. Bundan əlavə, Java-da göstərici arifmetikası yoxdur - siz serialın növbəti elementinə daxil olmaq üçün göstəricini artıra bilməzsiniz. Mənbəyə keçid: Java massivləri
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION