Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
0Activity
0 of .
Results for:
No results containing your search query
P. 1
Curs-2-Java

Curs-2-Java

Ratings: (0)|Views: 0 |Likes:
Published by Scott Barr

More info:

Published by: Scott Barr on Mar 20, 2014
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/20/2014

pdf

text

original

 
Programare Java
Curs – 2
TABLOURITablourile reprezinta o modalitate de a pastra o lista de elemente cu aceleasi tipuri de date primitive sau de clase . Fiecare element al listei este pastrat intro locatie proprie ! numerotata ast"el incat in"ormatia  poate "i usor accesata .Tablourile pot contine orice tip de in"ormatie pastrata in mod normal intro variabila ! insa ! o data creat ! tabloul nu poate "i "olosit decat pentru acel tip de date . #e e$emplu ! putem avea un tablou de intregi ! un tablou de obiecte %tring sau un tablou de tablouri insa nu putem avea un tablou care sa contina atat siruri cat si intregi .Pentru a crea un tablou in Java trebuie sa urmarim pasii de mai &os '(.#eclaram o variabila care sa re"ere un tablou).*ream un obiect de tip tablou si il atribuim variabilei tablou+.%tocam in"ormatia in tabloul respectiv#,*LARAR,A -ARIABIL,LOR TABLOUPrimul pas de mai sus este declararea variabilei care va re"eri tabloul . -ariabilele tablou indica tipul de obiecte sau de date pe care le va contine tabloul ! precum si numele acestuia . Pentru a le di"erentia de declaratiile normale de variabile se adauga o perece de paranteze patrate /0 la tipul de obiecte sau de date sau la numele variabilei .,$emplu '%tring cuvinte/01Point lovituri1int salariu/01,$emplele de mai &os sunt si ele valide '%tring/0 cuvinte1Point/0 lovituri1int/0 salariu1*R,AR,A #, OBI,*T, TABLOU#upa ce declaram variabila tablou ! urmatorul pas este de a crea un obiect tablou si de al atribui unei variabile . ,$ista mai multe modalitati '"olosim operatorul ne2initializam direct continutul tabloului#eoarece tablourile sunt obiecte Java putem "olosi operatorul ne2 pentru a crea o noua instanta a unui tablou '%tring/0 numeJucatori3ne2 %tring/(401Aceasta instructiune creaza un tablou de siruri cu (4 pozitii ! care poate contine obiecte %tring . Atunci cand cream un obiect tablou "olosind operatorul ne2 ! trebuie sa indicam cate pozitii urmeaza sa contina acesta . Aceasta instructiune nu introduce nici un "el de obiecte %tring pe aceste pozitii .Obiectele tablou pot contine si tipuri primitive cum ar "i intregi sau valori booleene ! nu numai obiecte '
 
int/0 temp3ne2 int/5501Atunci cand cream un obiect tablou "olosind operatorul ne2 toate pozitiile sale vor "i initializate automat 6 cu 4 cele numerice ! cu "alse pentru boolean ! cu 7849 pentru tipul caracter si cu null pentru obiecte :.OB% ' null nu este ecivalent cu zero sau cu caracterul ;84< ! ca in cazul limba&ului *Putem crea si initializa un tablou in acelasi timp . In loc sa "olosim operatorul ne2 pentru a crea noul obiect tablou includem elementele tabloului intre => ! separate prin virgula '%tring/0 nume3=;Ion< ! ;Andrei<! ;?iai< >1Fiecare dintre elementele dintre acolade trebuie sa "ie de acelasi tip cu variabila tablou . Atunci cand cream un tablou cu valori initiale in acest "el ! tabloul are dimensiunea egala cu numarul de elemente incluse . ,$emplul anterior creaza un tablou de obiecte %tring ! denumit nume ! care contine trei elemente .A**,%AR,A ,L,?,@T,LOR TABLOULUI #upa ce sa creat un tablou cu valori initiale putem accesa ! modi"ica si testa valorile "iecarei locatii a acestuia . -aloarea unei locatii este accesata cu numele tabloului ! urmat de pozitia ei in cadrul acestuia ! incadrata intre /0 . @umele si pozitia pot "i "olosite intro e$presie ! cum ar "i 'scorParticipant/403441scorParticipant reprezinta o variabila care re"era un obiect tablou . Pozitia 6 inde$ul : speci"ica locatia care va "i accesata in cadrul tabloului @umerotarea pozitiilor incepe de la 4 ast"el incat un tablou cu (4 elemente poate "i accesat "olosind pozitiile 4 C 5 .Toate pozitiile unui tablou sunt veri"icate daca se incadreaza in limitele tabloului asa cum sau speci"icat la crearea tabloului . In Java este imposibil sa accesam sau sa atribuim o valoare unei pozitii a tabloului a"lata in a"ara limitelor sale ! problema care aparea in * de e$emplu . %tring/0 vorbitor3ne2 %tring/(401vorbitor/(40 3<Te$t introdus<1Un program care "oloseste aceste doua linii de cod va da eroare de compilare la "olosirea variabilei vorbitor/(40 . ,roarea apare din cauza ca tabloul nostru nu poseda pozitia a zecea . Pentru a evita in programe depasirea accidentala a s"arsitului tabloului putem "olosi o variabila de instanta lengt C disponibila pentru toate obiectele tablou ! indi"erent de tip 'int lungime3lungime.lengt1?O#IFI*AR,A ,L,?,@T,LOR TABLOURILOR #upa cum am vazut mai sus putem atribui o valoare unei anumite pozitii a tabloului prin introducerea operatorului de atribuire dupa numele tabloului si al inde$ului 'notele?ele/03(41 propozitai/403<Aici<1 propozitia/(403propozitia/401Un lucru important de retinut este ca un tablou de obiecte ! in Java ! este un tablou de re"erinte la obiectele respective . Atunci cand atribuim o valoare unei pozitii dintrun ast"el de tablou nu se va
 
copia valoarea dintro pozitie in alta ci se va atribui re"erinta . In scimb ! tablourile de tipuri de date  primitive copiaza valorile dintro locatie in alta .Tablourile sunt relativ simplu de creat si modi"icat insa o"era "oarte multe avanta&e si sunt "oarte utile in Java . (' class TestTablou =)'+' %tring/0 prenume3=;#ennis<!<Drace<!<B&arne<!<James<>1' %tring/0 nume#eFamilie3ne2 %tring/prenume.lengt01'E' void a"iseaza@ume6: =' int i341G' %Hstem.out.println6prenume/i05' < ; nume#eFamilie/i0:1(4 i1((. %Hstem.out.println6prenume/i0()' < ; nume#eFamilie/i0:1(+ i1(. %Hstem.out.println6prenume/i0(' < ; nume#eFamilie/i0:1(E i1(. %Hstem.out.println6prenume/i0(G' < ; nume#eFamilie/i0:1(5 >)4')(' public static void main 6%tring argumente/0: =))' TestTablou a3ne2 TestTablou6:1)+' a.a"iseaz@ume6:1)' %Hstem.out.println6;<:1)' a.nume#eFamilie/403<Ritcie<1)E' a.nume#eFamilie/(03<Kopper<1)' a.nume#eFamilie/)03<%troustrup<1)G' a.nume#eFamilie/+03<Dosling<1)5' a.a"iseaza@ume6:1+4' >+(' >In acest program cream o clasa TestTablou ! cu doua variabile de instanta care pastreaza tablouri de obiecte %tring . Primul ! prenume ! este declarat si initializat in linia + pentru a contine patru siruri . A doua variabila ! nume#eFamilie ! este declarata si creata in linia  ! insa nu contine nici o valoare initiala . Tabloul acesta are acelasi numar de pozitii ca si tabloul prenume ! deoarece "oloseste valoarea  prenume.lengt . Atunci cand este "olosita pentru un obiect tablou ! variabila de instanta lengt intoarce numarul de pozitii din tablou .*lasa TestTablou mai contine si doua metode ' a"iseaza@ume si main . ?etoda a"iseaza@ume6: ! de"inita in liniile E C (5 ! parcurge succesiv tablourile prenume si nume#eFamilie ! a"isand continutul "iecarei pozitii . ?etoda main creaza o instanta initiala a clasei TestTablou 6 in linia )) : asa incat sa I se poata "olosi variabilele si metodele de instanta .Linia )+ apeleaza metoda a"iseaza@ume6: ! pentru a prezenta cum arata initial obiectul . Rezultatul este dat in primele patru linii a"isate .Liniile ) C )G seteaza valorile "iecarei pozitii din tabloul nume#eFamilie .Linia )5 apeleaza inca o data metoda a"iseaza@ume6: pentru a arata noile valori din tabloul nume#eFamilie .

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->