Java arrays în java

Cursuri de formare:

Jetoane Java

O matrice este o structură de date în care sunt stocate valori de același tip. Accesul la un element individual al unei matrice este realizat folosind un index întreg. De exemplu, dacă a este o mulțime de numere întregi, atunci valoarea expresiei a [i] este egală cu întregul i din matrice.







O matrice este declarată după cum urmează: în primul rând specificat tipul de matrice, de exemplu, tipul elementelor conținute în matrice, care a fost plasată o pereche de paranteze goale, iar apoi - numele variabilei. De exemplu, iată cum este declarată o serie de numere întregi:
int [] a;

Cu toate acestea, acest operator declară doar variabila a, nu inițializând-o cu o matrice reală. Pentru a crea o matrice, trebuie să aplicați noul operator.

int [] a = int nou [100];

Această afirmație creează o matrice de 100 de numere întregi. Elementele acestei matrice sunt numerotate de la 0 la 99 (și nu de la 1 la 100). După crearea, matricea poate fi umplută, de exemplu, cu o buclă.

int [] a = int nou [100];
pentru (int i = 0; i <100; i++)
a [i] = i; // Umple matricele cu numere de la 0 la 99.

Dacă încercați să se aplice elementului și [100] (sau orice alt element al cărui indice este în afara intervalului 0-99), creând o serie de 100 de elemente, programul se va opri de lucru, deoarece există situații excepționale asociate cu lansarea indicelui matrice dincolo de intervalul permis.
Pentru a număra numărul de elemente dintr-o matrice, utilizați metoda NameMassi-
va.length.

pentru (int i = 0; i

După crearea unei matrice, nu puteți schimba dimensiunea sa (deși puteți schimba, desigur, elementele sale individuale). Dacă trebuie să modificați frecvent dimensiunea unui tablou în timpul executării programului, este mai bine să utilizați o structură de date diferită, numită o listă de matrice.







Matricea poate fi declarată în două moduri:

Cei mai mulți programatori în Java alege primul stil, deoarece separă clar tipul array int [] (o matrice întreagă) din numele variabilei.

Arhitecturi de matrice și matrice fără nume

În limba Java, există un instrument pentru crearea simultană a unei matrice și inițializarea acesteia. Iată un exemplu de astfel de construcție sintactică:

Rețineți că în acest caz nu este necesar să utilizați noul operator. În plus, puteți chiar să inițializați o matrice fără nume:

Această expresie alocă memoria pentru matricea nouă și o umple cu numerele indicate în bretele. În acest caz, numărul lor este calculat și, în consecință, se determină dimensiunea matricei. Această structură sintactică este utilă pentru reinițializarea unui tablou fără a crea o nouă variabilă. De exemplu, expresie

smallPrimes = int int<17, 19, 23, 29, 31, 37>;
este o expresie trunchiată a expresiei
int [] anonimă <17, 19, 23, 29, 31, 37>;
smailPrimes = anonim;

Puteți crea o matrice de dimensiune zero. O astfel de matrice poate fi utilă atunci când scrieți o metodă care calculează un tablou gol. O matrice de lungime zero este declarată după cum urmează:

Rețineți că o astfel de matrice nu este echivalentă cu un obiect nul.

O matrice poate fi copiată în alta, dar ambele variabile se vor referi la aceeași matrice.

int [] luckyNumbers = smailPrimes;
luckyNuimbers [5] = 12; // Acum elementul smailPrimes [5] este, de asemenea, 12.

Matricea trebuie să aibă o dimensiune suficientă pentru a se potrivi tuturor elementelor copiate.

int [] smailPrimes =;
int [] luckyNumbers =;
System.aggausor (smailPrimes, 2, luckyNumbers, 3, 4);
pentru (int i = 0; i System.println (i +. ":" + LuckyNumbersfi]);

Execuția acestor operatori conduce la următorul rezultat.

Matricea în limba Java este semnificativ diferită de matricea din C ++. Cu toate acestea, aproape coincide cu un pointer la o matrice dinamică. Aceasta înseamnă că operatorul

int [] a = int nou [100]; // Java
este echivalentă cu operatorul
i n t * = nou în t [1 0 0]; // C ++,
și nu
int a [100]; // C ++

În Java, operatorul [] verifică implicit intervalul modificărilor indexului. În plus, nu există nici o aritmetică pointer în limba Java - nu puteți crește pointerul a pentru a accesa elementul următor al matricei.







Articole similare

Trimiteți-le prietenilor: