1. Un tablou este un container de elemente

Probabil ați auzit că computerele pot procesa cantități uriașe de informații. Desigur, instrucțiunile condiționate ( if-else) și buclele ( for, while) sunt de mare ajutor aici. Dar ei te pot duce doar atât de departe. La urma urmei, datele pe care le procesați trebuie să fie stocate cumva.

Ca aproape toate limbajele de programare, Java facilitează procesarea datelor oferind acest lucru grozav numit matrice ( clasă Array). Ele sunt uneori numite și tabele.

O matrice este un obiect special care vă permite să stocați nu o singură valoare, ci mai multe .

Matrice Java

Anterior am comparat o variabilă cu o casetă (în care puteți stoca orice valoare). Continuând această analogie, ne putem gândi la o matrice ca la o cutie care are compartimente interne. Fiecare compartiment din „box” (matrice) are un număr. Desigur, numerotarea începe de la zero...

Sau putem face o altă analogie. Să comparăm o casă obișnuită și un bloc de apartamente înalt. O casă obișnuită este ocupată de o singură familie, dar un bloc de apartamente înalt este împărțit în apartamente. Dacă doriți să trimiteți o scrisoare unei familii care locuiește într-o casă obișnuită, indicați adresa unică a casei. Iar pentru a trimite o scrisoare unei familii care locuiește într-un apartament, indicați adresa unică a imobilului precum și numărul apartamentului.

O variabilă matrice este ca o variabilă mare. Poate stoca nu una, ci multe valori. O astfel de variabilă are mai multe apartamente (celule). Fiecare dintre ele poate fi adresat prin numărul lor (index).

Pentru a face acest lucru, după numele variabilei, indicați indexul celulei pe care doriți să o adresați, înfășurând indexul între paranteze drepte. Acesta este destul de simplu:

array[index] = value;

Unde arrayeste numele variabilei matrice, indexeste numărul celulei din matrice și valueeste valoarea pe care dorim să o punem în celula specificată.

Dar, pentru a începe, să vedem cum să creăm matrice.


2. Crearea unei matrice de elemente în Java

Crearea unei matrice de elemente în Java

Să presupunem că programul tău trebuie să stocheze 100numere întregi undeva. O matrice ar fi un candidat bun pentru asta. Și cum creezi unul?

Dacă am dori să stocăm un singur întreg, inttipul ni s-ar potrivi. Dar dacă vrem să stocăm 100numere întregi, probabil că avem nevoie de o matrice de ints. Iată cum ar arăta codul pentru a crea unul:

int[] array = new int[100];

Să explorăm această afirmație.

După cum probabil ați ghicit, în stânga semnului egal avem declarația unei variabile numite arrayal cărei tip este int[]. Tipul inteste urmat de paranteze drepte, ceea ce sugerează că „cutiile” de acest tip pot stoca nu una, ci mai multe valori.

În dreapta semnului egal, avem un exemplu de „creare obiect” (cuvântul newcheie) pentru a obține 100elemente (celule) al căror tip este int. Nimic prea greu aici.

În mod similar, dacă am dori să creăm o matrice de 20 de celule pentru a stoca numere reale, atunci codul nostru ar arăta cam așa:

double[] vals = new double[20];

Numărul de celule dintr-o matrice se numește dimensiunea matricei sau lungimea matricei . Și pentru că matricele pot stoca multe valori, ele sunt numite și containere.

Iată un fapt important: nu puteți modifica dimensiunea unei matrice după ce este creată .

Puteți crea unul nou, dar lungimea containerului existent nu poate fi modificată.



3. Lucrul cu celulele unui tablou

Lucrul cu celulele unui tablou

Bine, am învățat cum să creăm matrice. Acum cum lucrăm cu ei?

Ei bine, aproape în același mod ca și în cazul variabilelor obișnuite. Singura diferență este că, după numele variabilei matrice, trebuie să indicăm numărul celulei cu care lucrăm.

Numerotarea celulelor dintr-o matrice începe întotdeauna de la zero. Dacă avem o matrice de 10elemente, atunci numerele (indicii) celulelor sale sunt 0..9. Dacă tabloul conține 200elemente, atunci indicii sunt 0..199. Și așa mai departe prin analogie.

Exemple:

Cod Explicaţie
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
Creați o serie de 10 intelemente.
Atribuiți valoarea 4celulei cu index 2.
Atribuiți valoarea 9celulei cu index 7.
În celula cu index 9, scrieți suma valorilor care sunt stocate în celule 2(care stochează valoarea 4) și 5(care stochează valoarea 0).

Iată ce va fi stocat în memorie după executarea acestui cod:

Lucrul cu celulele unui tablou int 2

Coloana din stânga (în gri) reprezintă numerele de celule (indici). Celulele stochează valorile atribuite: 4, 9și 4. Când matricea este creată, celulele sale sunt toate umplute cu zerouri.

Asta e important. Toate celulele dintr-o matrice au același tip de date. Dacă creăm o matrice de Strings, în celulele sale pot fi stocate numai șiruri. Tipul de date al unui tablou este specificat atunci când este creat. Nici tipul de date, nici lungimea matricei nu pot fi modificate ulterior.