JavaRush /Java блогы /Random-KK /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 элементтен тұратын массив жасау арқылы элементке (немесе индексі 0-ден 99-ға дейінгі ауқымнан тыс болатын кез келген басқа элементке) қатынасуға әрекеттенсеңіз а [100], бағдарлама тоқтатылады, себебі ауқымнан тыс жиым индексі ерекше жағдай орын алады. Жиымдағы элементтердің санын санау үшін Массив атауы әдісін пайдаланыңыз .length. Мысалы,
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
Массив жасалғаннан кейін оның өлшемін өзгерту мүмкін емес (бірақ, әрине, оның жеке элементтерін өзгертуге болады). Бағдарламаны орындау кезінде массив өлшемін жиі өзгерту қажет болса, массивтер тізімі деп аталатын басқа деректер құрылымын қолданған дұрыс. Массивті екі жолмен жариялауға болады:
int[] a;
or
int a[];
int []Java бағдарламашыларының көпшілігі бірінші стильді қалайды, себебі ол массив түрін (бүтін массив) айнымалы атауынан айқынырақ бөледі .

Массив инициализаторлары және аты жоқ массивтер

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 тип Элементов[]
Назар аударыңыз, мұндай массив нысанға баламалы емес null.

Массивтерді көшіру

Бір массив екіншісіне көшірілуі мүмкін, бірақ екі айнымалы да бір массивке сілтеме жасайды.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
Нәтиже суретте көрсетілген. 3.1. Бір массивтің барлық элементтерін екіншісіне көшіру қажет болса, сыныптан массивді көшіру әдісін пайдалану керек System. Оның қоңырауы келесідей:
System.arraycopy(from, fromlndex, to, tolndex, count);
Массив toкөшірілетін барлық элементтерді қамту үшін жеткілікті үлкен болуы керек. Java массивтері - 2
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 тіліндегі массив C++ тіліндегі массивтен айтарлықтай ерекшеленеді. Дегенмен, ол динамикалық массивтің көрсеткішімен іс жүзінде бірдей. Бұл операторды білдіреді
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