JavaRush /Java блогу /Random-KY /Java массивдери
articles
Деңгээл

Java массивдери

Группада жарыяланган

Массивдер

Массив - бул бир типтеги маанилерди сактаган маалымат структурасы. Жеке массив элементине бүтүн сандын индекси аркылуу кирүүгө болот. Мисалы, эгерде a бүтүн сандардын массиви болсо, анда a[i] туюнтмасынын мааниси массивдеги i- бүтүн санга барабар. Java массивдери - 1Массив төмөнкүдөй жарыяланат: адегенде массивдин түрү көрсөтүлөт, башкача айтканда массивде камтылган элементтердин түрү, андан кийин бир жуп бош квадрат кашаа, андан кийин өзгөрмөнүн аты көрсөтүлөт. Мисалы, бүтүн сандардан турган массивди кантип жарыялоо керек:
int[] a;
аБирок, бул билдирүү аны чыныгы массив менен инициализациялоосуз гана өзгөрмө жарыялайт . Массив түзүү үчүн операторду колдонушуңуз керек new.
int[] a = new int [100];
Бул оператор 100 бүтүн сандан турган массивди түзөт. Бул массивдин элементтери 0дөн 99га чейин номерленген (1ден 100гө чейин эмес). Түзүлгөндөн кийин массивди, мисалы, циклди колдонуу менен толтурса болот.
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
Эгер сиз 100 элементтен турган массив түзүү аркылуу элементке а [100](же индекси 0дөн 99га чейинки диапазондон тышкары болгон башка элементке) кирүүгө аракет кылсаңыз, программа токтотулат, анткени диапазондон тышкары массивдин индекси өзгөчө кырдаал пайда болот. Массивдеги элементтердин санын эсептөө үчүн Array name ыкмасын колдонуңуз .length. Мисалы,
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
Массив түзүлгөндөн кийин, анын өлчөмүн өзгөртүү мүмкүн эмес (бирок, албетте, анын айрым элементтерин өзгөртө аласыз). Эгерде сиз программаны аткаруу учурунда массивдин өлчөмүн тез-тез өзгөртүү керек болсо, анда массивдин тизмеси деп аталган башка маалымат структурасын колдонуу жакшы. Массивди эки жол менен жарыялоого болот:
int[] a;
or
int a[];
Көпчүлүк Java программисттери биринчи стилди жактырышат, анткени ал массивдин түрүн int [](бүтүн массив) өзгөрмөнүн аталышынан так бөлөт.

Массив инициализаторлору жана аты жок массивдер

Java бир эле учурда массивди түзүү жана аны инициализациялоо мүмкүнчүлүгүнө ээ. Мындай синтаксистик түзүлүштүн мисалы:
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
Бул учурда операторду колдонуунун кереги жок экенин эске алыңыз new. Мындан тышкары, сиз аты жок массивди инициализациялай аласыз:
new int[] {16, 19, 23, 29, 31, 37}
Бул туюнтма жаңы массив үчүн эстутумду бөлөт жана аны тармал кашааларда көрсөтүлгөн сандар менен толтурат. Бул учурда, алардын саны эсептелет жана ошого жараша массивдин өлчөмү аныкталат. Бул синтаксистик конструкция массивди жаңы өзгөрмө жаратпастан кайра баштоо үчүн колдонууга ыңгайлуу. Мисалы, туюнтма
smallPrimes = new int{17, 19, 23, 29, 31, 37};
кыскартылган сөз айкашы болуп саналат
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
Сиз нөл өлчөмдөгү массивди түзө аласыз. Мындай массив бош болуп чыккан массивди баалаган ыкманы жазууда пайдалуу болушу мүмкүн. Нөл узундуктагы массив төмөнкүдөй жарыяланды:
new тип Элементов[]
Мындай массив an objectке эквиваленттүү эмес экенин эске алыңыз null.

Массивдерди көчүрүү

Бир массивди башкасына көчүрсө болот, бирок эки өзгөрмө тең бир массивге кайрылат.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
Натый-жада керсетулген. 3.1. Эгер бир массивдин бардык элементтерин экинчисине көчүрүү керек болсо, класстан arraycopy ыкмасын колдонушуңуз керек System. Анын чакыруусу төмөнкүдөй көрүнөт:
System.arraycopy(from, fromlndex, to, tolndex, count);
Массив toкөчүрүлө турган бардык элементтерди камтыгандай чоң болушу керек. Java массивдери - 2
Fig.3.1. Массивди көчүрүү
Мисалы, төмөндө көрсөтүлгөн операторлор, алардын натыйжалары Сүрөттө көрсөтүлгөн. 3.2, эки массивди түзүп, андан кийин биринчи массивдин акыркы төрт элементин экинчисине көчүрүңүз. Көчүрүү булак массивиндеги экинчи позициядан башталат, ал эми көчүрүлгөн элементтер үчүнчү позициядан баштап максаттуу массивге жайгаштырылат.
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]);
Бул билдирүүлөрдү аткаруу төмөнкү натыйжаны берет.
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
Java массивдери - 3
Күрүч. 3.2. Массив элементтерин көчүрүү
Java тorндеги массив C++ тorндеги массивден бир топ айырмаланат. Бирок, бул динамикалык массивдин көрсөткүчү менен дээрлик бирдей. Бул оператор дегенди билдирет
int[] a = new int[100]; //Java
операторуна барабар
int* = new int[100]; //C++,
а не
int a[100]; //C++
Javaда []демейки оператор индекстин өзгөрүү диапазонун текшерет. Мындан тышкары, Java'да көрсөткүч арифметикасы жок — массивдин кийинки элементине жетүү үчүн көрсөткүчтү көбөйтүүгө болбойт. Булакка шилтеме: Java массивдери
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION