Sunteți pe pagina 1din 10

Continuare:

Daca un program foloseste clase compilate situate in diverse locatii pe hardisc, la compilare trebuie sa specificam calea catre acestea. Acest lucru se face cu ajuntorul notiunii classpath. De exemplu comanda javac classpath C:/CLASE; C:/ alteclase.jar; NumeSursa.java indica compilatorului ca in program pot fi utilizate clasa sau din arhiva alte clase. Optiunea O determina compilatorul sa utilizeze codul de octeti al clasei. Optimizarea consta intr-o rearanjare a intrarilor din tabela constantelor claselor respective si este recomandat doar pt clasele foarte mari. Optiunea -verbose determina compilatorul sa afiseze informatii din activitatea sa. Aceste informatii vor fi afisate in consola interpretorului si vor contine cand si de unde este incarcat codul sursa al unei clase, cat dureaza compilarea acesteia, cat dureaza compilarea acelui program etc. Pt a pastra aceste informatii putem redirecta iesirea standard(displeiul) intr-un fisier in felul urmator: javac verbose NumeSursa.java>info.txt(creeaza automat, fisierul nu trebuie creeat) Optiunea -nowarn determina compilatorul sa nu mai afiseze mesajele de advertisment. Aceste mesaje nu reprezinta erori de compilare. Un mesaj de advertisment care apare frecvent este cel de depreciere a metodelor. Dezvoltarea interfetei JAVA API, s-a facut cu pastrarea compatibilitatii cu programele JAVA deja scrise. Daca o anumita metoda dintr-o clasa a fost imbunatatita, acest lucru s-a realizat prin supraincaracrea metodei respective. Daca noi in program folosim vechia metoda, compilatorul va genera mesajul de depreciere a metodelor care reprezinta de fapt o editatie la documentare. Compilarea fara optiunea -g determina compilatorul sa introduca in codul de octeti al metodelor atributul LineNumberTable. Acest atribut realizeaza o corespondenta, univoca intre instructiunile de codului octeti si instructiunile codului sursa. Corespondenta care va fi folosita de care depanatorul JAVA in depanarea clasei respective. Acest atribut nu are niciun rol in timpul executii programului. Compilarea cu optiunea -g determina compilatorul sa includa in codul de octeti al metodelor atat atrimutul LineNumberTable cat si atributul

local LocalVariable.Table. Ultimul atribut furnizeaza informatii complete despre fiecare variabila locala declarata in cadrul metodei respective cum ar fi: nume, tip, loc de declarare si domeniul de divizibilitate. Aceste informatii nu folosesc in timpul executii programului deoarece ele pot fi folosite de catre decompilatoare(cod de octeti transforma cod sursa) pentru a obtine un cod sursa cat mai apropiat, din aceste motive se recomanda ca la compilarea finala a programului sa folosim optiunea -g:none care va determina compilatorul sa nu mai includa in codul de octeti niciunul din cele 2 atribute. Se obtin astfel niste clase de dimensiune mai mica.

Interpretorul JAVA
Este programul care creaza in memoria calculatorului masina java. In Windows este programul java.exe. Se lanseaza din linia de comanda si primeste ca parametru numele clasei primare a programului fara extensia .class. Sintaxa liniei de comanda este urmatoarea java [optiuni] ClasaPrimara [parametrii]. Printre [optiunile] acceptate interpretor unde se regaseste classpath cu aceeasi semnificatie ca la compilator. Daca dorim sa marim memoria utilizata de masina virtuala putem folosi optiunea -Xmx(ex: Xmx512m- mareste memoria cu 512 octeti). In [parametrii] reprezinta o lista de parametrii, furnizeaza lansarea de productie a programului separati prin spatii.(ex: java Exemplu 1 2->este valida si dam ca parametrii 1 si 2). Acesti parametrii vor fi incarcati in elementele cu indexul 0 si indexul 1 al matricei args[] care reprezinta parametru metodei main(public static void main(String[]args)).

Un alt program este programul de vizualizare a apleturilor


Apleturile sunt programele JAVA ce pot fi lansate in executie din cadrul unui document .html si sunt executate pe masina virtuala furnizata de un browser

eticheta html ce lanseaza in executie un applet se numeste applet <APPLET>...</APPLET>. Are urmantoare atriburte: -<APPLET CODE= ClasaPrimara.class CODEBASE=cale //primeste ca valoare numele clasei //primare a appletului cu tot cu extensia class ARCHIVE=arhiva.jar WIDTH=Pixeli HEIGHT=Pixel>. Daca aceasta clasa primara se gaseste in alt director decat documentel html care lanseaza appletul in executie trebuie sa specificam calea catre aceasta. Dupa aceasta se face prin atributul CodeBase. Valoare sa este fie o cale relativa la HTML, fie o adresa URL a calsei primare Daca clasa primara se gaseste intr-o arhiva jip sau jav numele arhivei trebuie specificat ca valoare a trimuluilu ARCHIVE. WIDT, HEIGHt. Reprezinta dimensiunile dreptughiului in care sunt pixeli. Pentru a furniza parametrii initiali a appletului vom folosi:PARAM NAME=nume_parametru VALUEA=valoarea_parametrului etichetele param sunt plasate intre cele 2 etichete. Preluarea valorii din etichetele param se face cu ajutorul metodei String getParameter(String nume) metoda mostenita de catre Java.applet.Applet. De exemplu String v=getParameter(exemplu); intrustiunea va parcrge lista de etichete param a appletului respectiv, va identifica acel param pt care valoarea atributului name coincide cu Stringul exemplu si va retruna valoarea atributului Value a etichetei param respective. In lipsa unei mediul de programare JAVA furnizeaza un program de vizualizare a appleturilor. Acesta este programul appletviewer.exe se lanseaza linia de comanda si primeste ca parametri numele html ce lanseaza appletul cu

tot cu extensia html. Programul va parcurge instructiunile HTML si va executa doar etichetele applet deschizand cate o fereastra pt fiecare applet.

Generatorul de documentatie JAVA


Generatorul de documentatie ne ajuta sa scriem specifivatiile programelor noastre Java. Specificatiile respective vor fi in formatul html. Generatorul de documentatie este javadoc.exe, se lanseaza in linia de comanda si primeste ca parametru numele fisierului sursa cu tot cu extensia java sau numele unui pachet. Sintaxa liniei de comanda este: javadoc *optiuni+ NumeSursa.java, javadoc *optiuni+ nume_pachet. Printre optiunii avem optiunea classpath cu aceeasi semnificatie ca la compilator. Optiunea -d de asemenea are aceeasi semnificatie ca la compilator. In mod prestabilit programul scrie fisiere de documentatie prestabilit. Programul javadoc va genera cate un fisier html pt fiecare clasa declarat in codul sursa. Aceste fisiere vor contine: ierarhia de clase in care se afla clasa respectiva, o lista a atributelor si o lista a metodelor din clasa respectiva. Mai departe aceste fisiere urmeaza sa fie completate de catre programator cu informatiile necesare/suplimentare cu atribute si metode. Pe langa aceste documentatii html, programul mai genereaza tree.html care contie ierarhia tuturor claselor din program, packages.html care contine toate pachetele din program si AllNames.html un fisier index a tuturor atributelor si metodelor din program. Toate aceste fiesiere html contin legaturi sau linkuri la documentatia interfetei JAVA API. Pt ca aceste legaturi sa functioneze, documentatia obtinuta trebuie sa fie plasa in documentatia API.

Limbajul JAVA
Elementele de baza a le lb JAVA se numesc atomi. Acestea se impart in urmatoarele categorii: -identificatorii -cuvinte rezervate -valoriile literare -operatorii -sepatorii -comentarii In timpul compilarii, compilatorul JAVA extrage mai intai din codul sursa caracterele speciale salt la linie noua si returul de car, apoi extrage toate spatiile care nu fac parte din sirul de caractere apoi trece la extragerea atomilori si interpretarea lor.

Identificatorii
Sunt secvete de litere, cifre si alte simboluri, folosite ca nume pt atribute, metode, variabile locale, clase, interfete si pachete. Un identificator trebuie sa inceapa obligatoriu cu o litera mica sau mare cu simblorul $ sau cu _ si trebuie obligatoriul sa nu coincida cu un cuvant rezervat. De exemplu cuv int este un cuv rezervat in JAVA si nu poate fi ca indificator. Intrucat lb java face distincyie intre litere mici si cele mare, cuv ca INT si Int pot si ca indicatori, dar nu se recomanda ca sa nu se faca confuzia Cuv rezervate sau cuv cheie sunt cuvinte speciale integrate in lb java care pot fi utilizate numai in scopul pt care au fost implementate. Toate cuv rezervate se scriu cu litere mici. Cuv rezervate in limbajul java sunt:

-cuv rezervate pt tipuri: ibyte, short, int, long, float, double, char, void -cuv pt rezervate pt structuri de recilare: do, while, for, break, continue -cuv rezervate pt structuri conditionale: if, else, swich, case, default -cuv rez pt structurile de baza: cclars, interface, package -cuv rez pt exceptie: catch, finally, try, throw, throws -pt mostenire: impeliments -pt acces: private, protected, public; -pt modificator: static, final, abstract, native, synchronized -alte cuv rez: false, true, null, return, this, import, new, super. Val literare reprezinta secvente de cifre, litere si alte simboluri folosite pt reprezentarea explicita a datelor din programul java. Acestea se impart in: val literare numerice intregi, val literare numerice; mobila, val literare buliene, val literare caracter si val literare sir de caracter. Val literare numerice intregi reprezinta numerele intregi cu semn stocate pe 32 de biti. Acestea pot fi zecimale, octale si hexazecimale. O valoare zecimala diferita de 0 deaorece incepe introtdeauna cu o cifra cuprinsa intre 1 si 9 urmate de cifre cupruinse intre 0 si 9. O valoare intreaga octala va incepe intotdeauna cu 0 urmate de cifre octale cuprinse intre 0 si 7. Ex: 06. O valoare numerica hexazecimala va incepe intotdeauna cu 0x sau 0X urmate de cifre hexazecimale cuprinse intre 0 si 9 a,b,c,d,e,f sau 0si9 A,B,C,D,E,F. ex:int v=0xFF;. Valorile literare numerice, mobila reprezinta numare cu virgula. In fuctie de marimea acestora acete nr pot fi stocate pe 32 sau 64. Cele p[e 32 se vor numi de tip floate, iar pe 64 double. Pt ca o valoare in mobila sa fie stocate pe 64 de biti se adauga sufixul d sau D, iar pe 32 de biti se adauga sufixul f sau F. de ex: 3.14159d sau 3.14159D va fi stocata pe 64 de biti, 3.14159f sau 3.14159F va fi stocata pe 32 de biti. In mod prestabilit o valoare de tip mobila se stocheaza pe 64 de biti. Deci sufixul d este optional. De ex: 3.14159 este pe 64 de biti. Putem folosi si notatia stiintifica de ex: valoare 3.14159E2f inseamna 3.14159*10^2.= 314.159f. Val literare booliene sunt doar 2

reprezentate de cuv rezervate true si false, care semnifica valoare de adevarat. Spre deosebire de C++ acestea nu pot fi inlocuite de 1 si 0. Val literare de tip caracter reprezinta caractere sau simboluri incadrate de apostrof. De ex: a,A, etc. pe langa acestea mai exista si o serie de caractere speciale care reprezinta comenzi. Acestea sunt: \b->BACKSPACE nuta cursorul cu un caracter inainte. \t>HORRIZONTAL TAB muta cursorul cu cateva caractere inainte. \n->LINE FEED muta cursorul la inceputul liniei urmatoare. \f ->FROM FEED muta cursorul la inceputul pag urmatoare. \r->CARRIAGE RETURN muta cursorul la inceputul liniei respective.\\, \,\. Val literare de tip sir de caractere reprezinta secvente de simboluri incadrate de ghilimele. Daca un astfel de sir de caractere este prea lung el se poate scrie pe mai multe linii in codul sursa numai prin concatenar. Operatorul de concatenare in java este +. Exemplu: acesta este//un exemplu-> gresit acesta+un exemplu O val de sir de caractere poate sa contina si simboluri special. De exemplusistem.out.printher(\Acesta este\n un exemplu\); va afisa in consola urmatorul lucru Acesta este/un exemplu. Operatorii sunt simboluri speciale integrate in lib java folosite la operatiile aritmetice si logice. In functie de nr de operanti acestia pot fi: unari, binari si ternari. Op unari actioneaza unui singur operator, binari la 2 si ternari la 3.

Clasificare a operatoriilor

Operator Operator pentru operatiile aritmetice +

Semnificatie Utilizare Operator a+b binar de adunare si opeartor binar de concatenare

Operator unar de legatie aritmetica sau operator binar de scadere Operator binar de inmultire

-a a-b

Interpretare Aduna valoarea b la valoare a si returneaza rezulatul sau concateneaza sirul a cu sirul b Returneaza opus Scade b din asul lui a

a*b

Operator a/b binar de impartire Operator a%b binar modulo

Inmulteste a cu b si returneaza rezultatul Imparte a cu b Returneaza restul impartii lui a la b Incarca in a valoare lui b

Operator de atribuire

a=b

+=

-=

Adunare urmata de atribuire Scadere urmata de atribuire Inmultire urmata de atribuire Impartire urmata de atribuire Modulo urmat de atribuire

a+=b

a-=b

*=

a*=b

/=

a/=b

%=

a%=b

Aduna a cu b si incarca rezultatul in a Scade pe b din a si incarca rezultatul in a Inmulteste a cu b si incarca rezultatul in a Imparte a la b si incarca rezultatul in a Determina restul impartii lui a la b si incarca rezultatul in a

Op de Op unar de ++a incrementare/decrementare incrementare a++ ++ -decrementare --a a-Operatori de comparatie == Comparatie prin egalitatea a==b

Aduna a cu 1 si incarac in a Scade 1 din a si incarac rezultatul in a Returneaza true daca a =b si false

!=

Comparatie prin inegalitate Comparatie prin mai mic stric Comparatie prin mai mic sau egal Comparatie prin mai mare stric

a!=b

<

A<b

<=

A<=b

> >=

a>b a>=b

in caz contrat Returneaza true daca a diferit de b si false True daca a<b false in caz contrat True daca a<=b si false in caz contrat True daca a>b si false in caz contrat

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