Sunteți pe pagina 1din 3

Array-uri

Array-urile sunt colectii de date grupate in sir indian care se acceseaza prin intermediul
indexului de array. Indexul este un numar oarecare (ales de programator) prin care se
acceseaza unul din elementele array-ului.

Un array poate fi vazut ca o matrice/tabel cu o singura coloana (vector).

Un array multidimensional poate fi comparat cu o matrice cu mai multe randuri si mai multe
coloane.

14
4
1991

Reprezentare matriceala Reprezentare tabelara

Accesarea valorilor din tabel se face dupa cum ziceam prin index, care in cazul array-ului
unidimensional (vectorul, tabela cu 1 singura coloana) se face prin specificarea numarului
randului.

Declarare array in java tip [] numeArray = new tip[capacitate/nr de randuri]

Accesarea se face prin numeArray[index]

De exemplu, vectorul din figura de mai sus are capacitatea 3 deci inseamna ca indecii merg de
la 0 la 2 !!! Deci regula de baza e, daca un array este de capacitate n atunci indecii accesibili
sunt de la 0 la n-1 !!!

Array-urile poate sa tina in celulele sale doar valorile din tip-ul din care a fost declarat.

Presupunem ca declaram vectorul (array-ul unidimensional) care tine 5 numere cu virgula


mobila.

float [] nrVirg = new nrVirg[5];

Cum ar arata initial a nrVirg:

Index Valoare
0 0
1 0
2 0
3 0
4 0

Toate valorile dintr-un array neinitializat sunt 0.


Accesarea si modificarea/atribuirea de valori in celulele lui nrVirg:

nrVirg[0]=14;

nrVirg[1]=4;

nrVirg[2]=1991;

nrVirg[3]=9000;

nrVirg[4]=12345;

Cum ar arata vectorul nrVirg:

Index Valoare
0 14
1 4
2 1991
3 9000
4 12345

Numele array-ului impreuna cu un numar ca index poate fi CONFUNDAT cu valoarea de la


indexul respectiv !!! (adica nrVirg[2] putem sa-l vedem (mental) ca si fiind 1991 pentru
exemplul precedent).

Daca am avea nevoie sa scriem numarul 22 in toate celulele dintr-un array cu o capacitate de
1000 de celule ne-ar lua mult timp sa atribuim la fiecare celula numarul 22... Ar insemna sa
scriem in program:

nrVirg[0]=22;

nrVirg[1]=22;

nrVirg[2]=22;

.... (scris 1000 de ori)

nrVirg[999]=22;

Codul ar fi foarte lung si plictiseala aferenta pe masura...

Pentru a scapa ieftin se va folosi o bucla de iteratie (for, while, do-while, metoda recursiva) care
face ea treaba asta pentru noi in timp util. pe langa faptul ca se vor scrie doar 3 linii de cod
(foarte repede si ieftin), facem practic 1000 de operatii cu o asemenea structura.

Exemplu:

int [] x = new int[1000];

for(int i = 0 ; i<1000; i++){ //i va fi de la 0 la 999

x [ i ] = 22; //pentru fiecare i care e de la 0 la 1000

}
Stringuri
Stringurile in java sunt definite prin intermediul ghilimelelor .

Deci urmatoarele sunt bucati de text: mar, 10, 321.213, Ana are prea multe mere.

Observi 10, 321.213 ...ele nu sunt numere. 10 e diferit de 10, doar pentru faptul ca are
GHILIMELE. 10 e text pe cand 10 e numar. Repet, GHILIMELELE DESEMNEAZA TEXT ( STRING
). Daca nu ar avea ghilimele atunci interpretorul Java ar trata respectivele cuvinte ca fiind parti
de cod. Pana la urma un LIMBAJ se bazeaza pe niste reguli de sintaxa specifice acelui limbaj
(cum Chineza e diferita de limba Romana , la fel si C++ e diferit fata de JAVA si de Olandeza). Iar
o regula de sintaxa din java specifica ca tot ce e intre ghilimele e text. Mereu trebuie urmarit
unde incepe textul si unde e cod.

Ghilimelele de inceput (din stanga) desemneaza inceputul unei bucati de text iar cele din
dreapta... de incheiere, semnifica sfarsitul informatiei de tip text.

Atunci cand se foloseste operatorul + in raport cu text, acesta realizeaza CONCATENAREA


bucatilor de informatie din dreapta si stanga operatorului.

Exemplu de concatenare: doua + mere e la fel cu douamere

Alte exemple:

doua +mere la fel ca doua mere //observa spatiul dintre doua si mere

un numar: +14041991 la fel ca un numar: 14041991

sase + cai + frumosi la fel ca sase cai frumosi

10+10 la fel ca ...20 (in cazul in care folosesti + intre numere, ele sunt luate ca numere, nu ca
bucati de text, doar pentru simplul fapt ca nu este nici macar un string pe acolo....)

+ face automat conversia unui numar intr-un string cand se concateneaza cu un string autentic
(aflat intre ghilimele).

S-ar putea să vă placă și