29.04.2013 Views

J. Introducere in limbajul Java - Discipline

J. Introducere in limbajul Java - Discipline

J. Introducere in limbajul Java - Discipline

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Curs SwRTc (draft) 2004-2005 25/34 10/22/2006 2006_Intro_<strong>Java</strong>_v01.htm<br />

De exemplu, sa consideram urmatoarele declaratii de tablouri:<br />

<strong>in</strong>t <strong>in</strong>tArray[];<br />

float floatArray[];<br />

double[] doubleArray;<br />

char charArray[];<br />

Observati ca parantezele pot fi plasate <strong>in</strong>a<strong>in</strong>te sau dupa numele variabilei. Plasand [] dupa<br />

numele variabilei se urmeaza conventia d<strong>in</strong> C.<br />

Exista <strong>in</strong>sa un avantaj <strong>in</strong> a plasa parantezele <strong>in</strong>a<strong>in</strong>tea numelui variabilei, folos<strong>in</strong>d formatul<br />

<strong>in</strong>trodus de <strong>Java</strong>, pentru ca se pot declara mai usor tablouri multiple. Ca de exemplu, <strong>in</strong><br />

urmatoarele declaratii:<br />

<strong>in</strong>t[] firstArray, secondArray;<br />

<strong>in</strong>t thirdArray[], justAnInt;<br />

In prima l<strong>in</strong>ie, atat firstArray cat si secondArray sunt tablouri.<br />

In a doua l<strong>in</strong>ie, thirdArray este un tablou, dar justAnInt este, dupa cum ii arata numele, un<br />

<strong>in</strong>treg. Posibilitatea de a declara variabile primitive si tablouri <strong>in</strong> aceeasi l<strong>in</strong>ie de program, ca <strong>in</strong> a doua<br />

l<strong>in</strong>ie d<strong>in</strong> exemplul precedent, cauzeaza multe probleme <strong>in</strong> alte limbaje de programare. <strong>Java</strong> prev<strong>in</strong>e<br />

aparitia acestui tip de probleme ofer<strong>in</strong>d o s<strong>in</strong>taxa alternativa usoara pentru declararea tablourilor.<br />

J.4.2.3. Alocarea si <strong>in</strong>itializarea tablourilor cu elemente de tip primitiv<br />

Odata declarat, un tablou trebuie alocat (d<strong>in</strong>amic). Dimensiunea tablourilor nu a fost<br />

specificata <strong>in</strong> exemplele precedente. In <strong>Java</strong>, toate tablourile trebuie alocate cu new. Urmatoarea<br />

declaratie de tablou genereaza o eroare la compilare de genul:<br />

<strong>in</strong>t <strong>in</strong>tArray[10]; // aceasta declaratie va produce eroare<br />

Pentru a aloca spatiul de memorie necesar unui tablouri este utilizat operatorul de generare<br />

d<strong>in</strong>amica new, ca <strong>in</strong> urmatoarele exemple:<br />

// stil C<br />

<strong>in</strong>t <strong>in</strong>tArray[] = new <strong>in</strong>t[100]; // declaratie si def<strong>in</strong>itie (<strong>in</strong>itializare cu 0)<br />

float floatArray[]; // simpla declaratie<br />

floatArray = new float[100]; // def<strong>in</strong>itie (si <strong>in</strong>itializare implicita cu 0)<br />

// stil <strong>Java</strong><br />

long[] longArray = new long[100]; // declaratie si def<strong>in</strong>itie<br />

double[][] doubleArray = new double[10][10]; // tablou de tablouri<br />

Operatorul new trebuie sa fie urmat de <strong>in</strong>itializarea lungimii tabloului (numele tipului<br />

elementelor tabloului urmat de paranteze drepte <strong>in</strong>tre care se afla numarul de elemente al<br />

tabloului).<br />

Formatul pentru alocarea si <strong>in</strong>itializarea lungimii variabilelor de tip tablou cu elemente de tip<br />

primitiv este urmatorul:<br />

numeTablouElementeTipPrimitiv = new tipPrimitiv[numarElementeTablou];

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!