Sunteți pe pagina 1din 18

Programare Java

"Procesul programarii are mai multe faze:


se incepe cu definirea CONCEPTELOR,
dupa care se trece la stabilirea
RELATIILOR dintre ele. Abia dupa
aceea se poate trece la scrierea
codului"
Programe si modele
• structurile de date
• secventele de instructiuni sau operatiile
• Un program conceput conform unei metode procedurale
pune accentul pe algoritmii care transforma datele
initiale ale unei probleme in rezultate
• Algoritmii sunt structurati in subprograme carora li se
furnizeaza date sub forma de parametri sau care
acceseaza datele respective prin intermediul unui fond
global comun.
• Programarea structurata este bazata pe ecuatia
enuntata de Niklaus Wirth:
Structuri de date + Algoritmi = Program
Date + Metode = Obiect
• Un obiect inglobeaza date si operatii si
reprezinta o abstractiune a unei entitati din
lumea reala. Astfel, abstractizarea (intelegand
prin asta tranzitia de la entitatile domeniului
problemei de rezolvat la programul care o
modeleaza) este mai directa, mai naturala:
Obiectele componente interactioneaza, iar
rezultatul acestei interactiuni o reprezinta
transformarea datelor de intrare in date de
iesire, adica rezolvarea problemei.
• Diferenta esentiala intre limbajele
procedurale si cele obiectuale este aceea
ca limbajele procedurale au un caracter
imperativ, fiind axate pe "verbe"
(subprograme), in timp ce limbajele
obiectuale sunt concentrate in jurul
"substantivelor" (datele).
Concepte fundamentale in programarea
orientata pe obiecte

• Abstractizarea
• Incapsularea
• Modularitatea
• Ierarhizarea
Platforme de lucru Java
• J2SE (Standard Edition)
• Este platforma standard de lucru ce ofera suport pentru crearea de
aplicatii
• J2ME (Micro Edition)
• Folosind Java, programarea dispozitivelor mobile este extrem de
simpla, platforma de lucru J2ME oferind suportul necesar scrierii de
programe dedicate acestui scop.
• J2EE (Enterprise Edition)
• Aceasta platforma ofera API-ul necesar dezvoltarii de aplicatii
complexe, formate din componente ce trebuie sa ruleze in sisteme
eterogene, cu informatiile memorate in baze de date distribuite, etc.
Tot aici gasim si suportul necesar pentru crearea de aplicatii si
servicii Web, bazate pe componente cum ar fi servleturi, pagini
JSP, etc.
• Toate distributiile Java sunt oferite gratuit si pot fi descarcate de pe
Internet de la adresa ”http://java.sun.com”.
Avantajele limbajului Java
• simplitatea
• orientarea spre obiecte
• compilarea - maşina virtuală Java –Java Virtual
Machine-JVM - emulator
• portabilitatea şi independenţa de platformă
• suport pentru multithreading
• colectarea de reziduuri - Garbage Collector
• securitate ridicată
• lucrul în reţea
• conexiune la BD
• executie in browsere web
programe Java:

• programe obişnuite, de sine stătătoare (stand-alone),


numite aplicaţii;
• applet-uri, aplicaţii care se execută pe parte de client.
Ele folosesc acelaşi limbaj, dar diferă modalitatea de
lansare în execuţie, se execută în browsere WWW.
Conexiunea browser-ului cu applet-urile se face prin
intermediul etichetelor html. Applet-urile pot îngloba
elemente de grafică, animaţie, sunet, jocuri;
• servlet-uri, aplicaţii care se execută pe parte de server.
Un tip special de aplicaţie executată pe server, care
serveşte şi susţine cererile primite de la clienţii din reţea
îl constituie servlet-ul. Java Servlet-urile reprezintă o
alegere potrivită pentru a construi aplicaţii Web
interactive, înlocuind, astfel, folosirea scripturilor CGI.
• Pentru dezvoltarea programelor Java, firma Sun pune la dispoziţia
programatorului Java Developers Kit (JDK). JDK conţine biblioteci
de clase Java
• java.applet -
• java.awt -
• java.lang - conţine clasele fundamentale fără de care un program
Java nu poate exista. Utilizarea unei clase din oricare alt pachet
decât java.lang într-un program Java se specifică în clar prin
directiva:
import numepachet.*; sau
import numepachet.numeclasă;
• java.math -
• java.net -
• java.sql -
• java.txt -
• java.util -
• java.io -
• java.beans -
Dezvoltarea şi execuţia unei aplicaţii
Java

• Etapele de dezvoltare şi execuţie ale unei


aplicaţii Java stand-alone sunt:
• scrierea codului;
• compilarea;
• interpretarea şi lansarea în execuţie.
Exemplul 1:
/* Prima aplicatie
va afisa un mesaj */
class ProgUnu {
public static void main (String args[]) {
System.out.println(“Aceasta este prima aplicatie
Java”);
}
}
//Am incheiat programul
Exemplul 2:
/* Aplicatia preia parametrii din linia de comanda
Se vor introduce mai multe nume ce vor fi afisate*/
class ProgDoi {
public static void main(String args[]) {
if (args.length= =0){
System.out.println(“Lista parametrii vida!”);
return;
}
for (int i=0; i<args.length; i++)
System.out.println(“Salut”+args[i]+”!”);
}
}
// ... Am incheiat
Structura lexicală a unui program Java

• Limbajul Java foloseşte ca şi alfabet setul de caractere


Unicode pe 16 biti. Setul de caractere Unicode are
65536 caractere oferind suport pentru toate limbile
scrise; el cuprinde şi setul de caractere ASCII (primele
128 caractere Unicode fiind caracterele ASCII).
• În faza de compilare, codul sursă al unui program Java
este supus unei operaţii de translaţie lexicală
parcurgându-se etapele:
1. şirul de caractere ASCII sau Unicode este translatat într-
un flux de caractere Unicode;
2. fluxul obţinut la pasul precedent este tranformat într-un
flux de caractere de intrare şi terminatori de linie;
3. fluxul caracterelor de intrare şi a terminatorilor de linie de
la pasul 2 este transformat în unităţi lexicale Java,
eliminându-se spaţiile şi comentariile.
• Limbajul Java conţine următoarele unităţi lexicale sau
atomi lexicali (tokens):
• comentariile – sunt folosite pentru a documenta
programul
• cuvintele cheie (keywords) – sunt cuvinte rezervate de
limbajul Java în diferite scopuri
• identificatorii – sunt numele dat pe programator unor
elemente de program, permiţând referirea unică a acelor
elemente de program: clase, metode, variabile
• literalii – reprezintă valori constante ale unui tip de dată
• separatorii – sunt utilizaţi pentru a separa unităţile
lexicale Java unele de altele. Aceştia sunt: ( ){ }[ ] ; , .
• operatorii – sunt necesari pentru a descrie operaţiile ce
se aplică asupra unor variabile program
Tipuri de date

• Un tip de dată constă în definirea mulţimii


valorilor pe care le poate lua o variabilă şi în
definirea operaţiilor suportate de aceasta.
• În Java există următoarele tipuri de date:
• tipuri de date primitive, unde sunt incluse tipurile
numerice şi tipul boolean (byte, short, int, long,
char, float, double, boolean)
• tipuri de date referinţă, care includ tipurile clasă,
interfaţă şi tablou.
• tipul null, un tip special, referinţa null fiind o
valoare posibilă pentru o expresie de tip null.
Operatorii in Java
• Operatorul de atribuire (=)
• Operatorii aritmetici
• Operatorii relaţionali
• Operatorii logici
• Operatorii la nivel de bit
• Operatorii de atribuire combinaţi
• Operatorul condiţional (? :)
• Operatorul de adunare şir caractere
• Operatorul cast este utilizat pentru a converti o
valoare dintr-un tip de date numeric într-o altă
valoare similară, însă de alt tip de date numeric.
• Operatorul instanceof este utilizat pentru a testa dacă
un anumit obiect este de o anumită clasă.
Structuri de control program. Instrucţiuni

• if-else, switch, for, while, do, break,


continue, return.
• În plus mai există instrucţiuni pentru
tratarea excepţiilor: try-catch-finally şi
throw