Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.


"Bună, Amigo!"

— Hei, Ellie!

"Astăzi, vă voi spune despre o entitate nouă și interesantă: matrice. O matrice este un tip de date care poate stoca mai multe valori în loc de doar una."

Matrice - 1

"Să începem cu o analogie. Să comparăm o casă și un bloc de apartamente. O casă obișnuită este de obicei ocupată de o singură familie, dar un bloc de apartamente este împărțit în mai multe apartamente. Pentru a trimite o scrisoare unei familii care locuiește într-o casă, trebuie să trebuie să indicați adresa unică a casei. Pentru a trimite o scrisoare unei familii care locuiește într-un bloc de apartamente, trebuie să scrieți adresa unică a blocului și numărul apartamentului."

„Totul pare clar până acum”.

„O variabilă matrice este ca o variabilă de clădire de apartamente. Puteți stoca mai multe valori în ea în loc de doar una. O astfel de variabilă are mai multe apartamente (elemente) la care vă puteți referi folosind un număr de apartament (index). Pentru a face acest lucru, indicați indexul elementului de matrice pe care doriți să-l accesați între paranteze drepte după numele variabilei de matrice. Este destul de simplu."

— Sper că da, Ellie.

„O variabilă de clădire de apartamente (variabilă matrice) poate conține elemente de orice tip. Trebuie doar să scrieți „ NumeType[]nume_variabilă ” în loc de „ NumeNume variabilă ””.

Aici sunt cateva exemple:

Cod Descriere
String[] list = new String[5];
Creați o Stringmatrice cu 5elemente
System.out.println(list[0]);
System.out.println(list[1]);
System.out.println(list[2]);
System.out.println(list[3]);
System.out.println(list[4]);
Vor fi afișate cinci valori „ nule ”.

Pentru a accesa valoarea unui anumit element de matrice, utilizați paranteze pătrate și indexul elementului.

int listCount = list.length;
listCounti se va atribui valoarea 5, care este numărul de elemente din listmatrice. stochează lungimea matricei (numărul de elemente).
list.length
list[1] = "Mom";
String s = list[1];
Când atribuiți obiecte elementelor de matrice, trebuie să indicați indexul elementului între paranteze drepte.
for (int i = 0; i < list.length; i++)
{
     System.out.println(list[i]);
}
Afișați pe ecran valorile tuturor elementelor matricei.

"Ce interesant!"

„O variabilă matrice necesită inițializare suplimentară.”

— ?

„Cu o variabilă obișnuită, puteți să o declarați și apoi să îi atribuiți diverse valori. Cu o matrice, este puțin mai complicat.”

„Trebuie să creați mai întâi un container care va conține N elemente și abia apoi puteți începe să plasați valori în container.”

Cod Descriere
String[] list = null;
Variabila listmatrice este nulă . Poate stoca doar o referință la un container pentru elemente. Trebuie să creați containerul separat.
String[] list = new String[5];
Creați un container pentru 5elemente și atribuiți o referință variabilei list. Acest container are 5 apartamente (elemente) numerotate 0, 1, 2, 3 și 4.
String[] list = new String[1];
Creați un container pentru 1element și atribuiți o referință variabilei list. Pentru a pune ceva în acest container, am scrie ceva de genullist[0] = "Yo!";
String[] list = new String[0];
Creați un container pentru 0elemente și atribuiți o referință variabilei list. Nu puteți depozita nimic în acest recipient.

— Înţeleg. Acum devine mai clar.

„Iată câteva fapte de bază despre matrice:”

1) Un tablou este format din mai multe elemente.

2) Pentru a accesa un anumit element, indicați numărul acestuia (index).

3) Toate elementele sunt de același tip.

4) Valoarea inițială pentru toate elementele este nulă; pentru matrice de tipuri primitive, valoarea inițială este 0, 0,0 (pentru numere fracționale) sau fals (pentru boolean). Este exact la fel ca cu variabilele neinițializate care nu sunt în matrice.

5) Lista String[] pur și simplu declară o variabilă. Mai întâi trebuie să creați o matrice (container), să puneți ceva în el și abia apoi să îl utilizați (vezi exemplul de mai jos).

6) Când creăm un obiect matrice (container), trebuie să indicăm lungimea acestuia sau numărul de elemente. Facem acest lucru folosind noul TypeName[n];

Matrice - 2

Aici sunt cateva exemple:

Cod Descriere
String s;
String[] list;
seste egal cu nul
listeste egal cu nul
list = new String[10];
int n = list.length;
Variabila liststochează o referință la un obiect – o matrice de 10 elemente de șiruri
n este egală cu 10
list = new String[0];
Acum listconține o 0matrice de elemente. Matricea există, dar nu poate stoca șiruri.
list = null;
System.out.println(list[1]);
Aceasta va arunca o excepție (eroare de rulare) și programul va fi terminat anormal: listconține o referință nulă.
list = new String[10];
System.out.println(list[11]);
Aceasta va arunca o excepție (eroare de rulare): indexul matricei în afara limitelor.

Dacă listconține 10 elemente, indicii validi sunt: ​​0,1,2,3,4,5,6,7,8 și 9 (pentru un total de 10 indici).