Sunteți pe pagina 1din 23

Tehnici avansate de programare

(TAP)

2020-2021

1
Condiții de promovare

Condiții de participare la examen în sesiunea iunie 2021:

Curs – 14 cursuri , prezența obligatorie la 7 cursuri (50%)


Laborator- 14 laboratoare, prezența obligatorie la 10 laboratoare (70%)
Laboratoarele se recuperează în ultimele 2 săptămâni de activitate didactică
în perioada 11-24 mai 2021.
Examen final – sustinerea unui proiect
Nota minima de trecere – examen: 5 (cinci) și laborator: 5 (cinci).
Nota finală: media aritmetică dintre nota de la laborator și nota de la examen
Nf= (Nl+Ne)/2

2
3
C01- Curs introductiv. Programare în Java

Cuprins
•Istoric
•Versiuni ale limbajului
•Medii de dezvoltare integrate
•Caracteristicile limbajului Java
•Aspecte de design ale limbajului
•Terminologie obiectuală în Java

4
Java – scurt istoric

• 1990-1995: James Arthur Gosling

• (Sun Mycrosystems)
• Iniţial: limbajul s-a numit OAK (după un stejar-oak care era în fața
biroului lui Gostling
• Dedicat aplicaţiilor Internet
• Programe simple care pot fi transmise în reţea

5
Java - Scurt istoric

• În 2009-2010 Oracle Corporation a achiziționat Sun Microsystems,


Oracle s-a definit ca fiind administratorul tehnologiei Java, cu un
angajament neobosit de a promova o comunitate de participare și
transparență.

• La 2 aprilie 2010, James Gosling și-a dat demisia din Oracle.

• Software-ul Java rulează de la laptopuri până la centre de date, console


de jocuri până la supercomputere științifice.

6
Versiuni ale limbajului Java
• Deşi firma Sun MicroSystems a început lucrul la limbajul Java în 1990,
doar în 1995 a apărut prima versiune comercială. Limbajul Java poate fi
utilizat pe sisteme de operare ca: Windows, Sun Solaris, Macintosh şi
diverse sisteme Unix.
• Pentru dezvoltarea programelor există mediile Java Development Kit (cu
acronimul JDK, adică kitul dezvoltatorului Java:
• JDK 1.0.2 – din 1996
• JDK 1.1 – din 1997
• JDK 1.2 – din 1998
• JDK 1.3 – din 1990
• JDK 5.0 –2005
• JDK 6.0- Tigger
• ….
• JDK 14.0 lansat în septembrie 2020 –

7
De ce să învățăm programare în Java?
Prentru ca studenții să devină adevărați profesioniști și să dobîndească
compențe în domeniul dezvoltării de software.
Câteva dintre avantajele cheie ale învățării programării Java:
Orientat obiect - În Java, totul este un obiect. Java poate fi extins cu ușurință,
deoarece se bazează pe modelul Obiect.
Independent de platformă - Spre deosebire de multe alte limbaje de programare,
inclusiv C și C ++, atunci când Java este compilat, acesta nu este compilat într-o
mașină specifică platformei, ci mai degrabă într-un cod de octeți independent de
platformă. Acest cod de octeți este distribuit pe web și interpretat de Mașina
Virtuală (JVM) pe orice platformă pe care este rulat.
Simplu - Java este proiectat pentru a fi ușor de învățat. Dacă înțelegeți conceptul
de bază al OOP Java, va fi ușor de învățat.
Securizat - Java permite dezvoltarea sistemelor fără virus, fără modificări.
Tehnicile de autentificare se bazează pe criptarea cu chei publice.

8
De ce să învățăm programare în Java?
Arhitectură neutră - compilatorul Java generează un format de fișier obiect neutru
din arhitectură, ceea ce face ca codul compilat să fie executabil pe mai multe
procesoare, cu prezența sistemului de rulare Java.

Portabil - Fiind neutru din punct de vedere arhitectural și neavând aspecte


dependente de implementare ale caietului de sarcini, face ca Java să fie portabil.

Robust - Java face un efort pentru a elimina situațiile predispuse la erori, punând
accentul în principal pe verificarea erorilor în timp și verificarea runtime.

9
De ce să învățăm programare în Java?
Noile versiuni J2 au fost redenumite ca Java SE, Java EE, respectiv Java ME. Java
este garantat să fie scris o dată, rulat oriunde.
Multithreaded - Cu funcția multitreaded puteți scrie programe care pot efectua
mai multe sarcini simultan. Această caracteristică de proiectare permite
dezvoltatorilor să construiască aplicații interactive care să funcționeze fără
probleme.
Interpretat - Codul byte Java este tradus din mers în instrucțiuni ale mașinii native
și nu este stocat nicăieri. Procesul de dezvoltare este mai rapid și analitic.
De înaltă performanță - Utilizând compilatoare Just-In-Time, Java permite
performanțe ridicate.
Distribuit - Java este proiectat pentru mediul distribuit al internetului.
Dinamic - Java este considerat a fi mai dinamic decât C sau C ++, deoarece este
conceput pentru a se adapta unui mediu în evoluție. Programele Java pot
transporta o cantitate mare de informații în timpul rulării, care pot fi utilizate
pentru verificarea și rezolvarea acceselor la obiecte în timpul rulării.

10
JDK

• Java Developer’s Kit conţine utilitare software


necesare pentru crearea şi dezvoltarea aplicaţiilor:
• javac – compilatorul Java
• jdb – depanatorul Java
• javadoc – programul de documentare Java
• appletviewer – utilitar pentru vizualizarea applet-urilor
Java
• javap – dezasamblor pentru clase Java etc.
 

11
Medii de dezvoltare integrate (IDE)
Pentru Windows
Netbeans (8.2, 11.1, 12.2)
Eclipse IDE 2019 -12
BlueJ
Jcreator

COMERCIALE
•Symantec – Visual Café sau un compilator Just-In-Time
•Borland – Jbuilder, (3.0, 3.5, 4.0 si BC+ +5.0/Java)
•SuperCede
•Rog Wave – Jfactory
•Natural Intelligence Roaster
•Sum Soft – Java Workshop
•Kalimantan – Kalimantan
•WebGain Visual Café (3.0, 4.0, si 4.1)
•Metrowerks Code Warrior Pro 4 si 5
•IBM Visual Agew for Java 3.0 si 3.5
•Sum Forte 2.0 Community Edition etc.
 

12
Instalare software necesar
https://www.oracle.com/java/technologies/javase-downloads.html

https://netbeans.org/

13
Componente ale sistemului Java
• Limbajul de programare Java
• Limbajul: colecţie de biblioteci
• Compilatorulul de java - javac
• Maşina virtuală Java – java
• Biblioteci pentru grafică, securitate etc.
• Suport pentru interoperabilitate: metode native

javac java Executie pe


Cod sursa Bytecode
calc sursa

Transfer in retea + java


Executie pe
calc in retea

14
Arhitectura JVM
Java
A.java A.class
Compiler
Compile source code

Java Virtual Machine


Loader
ork
Ne tw Verifier
B.class Linker

Bytecode Interpreter
15
Elemente de bază ale limbajelor de
programare
• Toate limbajele de programare au cinci elemente comune:
• sintaxa
• vocabular
• punctuaţie
• identificatori
• operatori

• Invăţarea unui limbaj de programare presupune însuşirea acestor


elemente.

16
Elemente de bază ale limbajelor de
programare
Sintaxa
Un program Java, acesta poate fi definit ca o colecție de obiecte care
comunică prin invocarea metodelor celuilalt.
Obiect - Obiectele au stări și comportamente. Exemplu: un câine are stări -
culoare, nume, rasa, precum și comportament, cum ar fi, să latre, să
mănânce. Un obiect este o instanță a unei clase.
Clasa - o clasă poate fi definită ca un șablon / model care descrie
comportamentul / starea pe care obiectul o suportă.
Metode - O metodă este practic un comportament. O clasă poate conține
multe metode. Logica este scrisă în metode, aici sunt datele manipulate și
toate acțiunile sunt executate.
Variabile de instanță - Fiecare obiect are setul său unic de variabile de
instanță. Starea unui obiect este creată de valorile atribuite acestor variabile
de instanță.

17
Încapsulare şi package-uri
• Fiecare câmp sau metodă package
aparţine unei clase class
field
• Fiecare clasă este parte a unui
package method
•Default package
•Convenţie între modul de salvare a
fişierelor pe disc şi organizarea package
acestora în package-uri
class
field
method

18
Clasificarea tipurilor Java
Tipuri referinţă
Object

Object[ ] Throwable

Shape Shape[ ] Exception


types
Circle Square Circle[ ] Square[ ]
user-defined arrays

Tipuri primitive –
boolean int byte … float long

19
Elemente de bază ale limbajelor de
programare
Sintaxa
public class PrimulProgram {
/* Acesta este primul meu program.
* Se va tipări ‘Salutare prieteni!’ ca output
*/
public static void main(String []args) {
System.out.println(“Salutare prieteni!"); // tipărește Salutare prieteni!
}
}
OUTPUT
C:\> javac PrimulProgram.java
C:\> java PrimulProgram
Salutare prieteni!

20
Elemente de bază ale limbajelor de
programare
Sintaxa
Sintaxa de bază
Case sensitive - Java este sensibil la litere mari și minuscule, ceea ce
înseamnă identificatorul Salutare și salutare ar avea un sens diferit în Java.

Nume de clasă - Pentru toate numele de clasă, prima literă trebuie să fie o
majusculă. Dacă se folosesc mai multe cuvinte pentru a forma un nume al
clasei, prima literă a fiecărui cuvânt interior trebuie să fie scris cu majusculă.
Exemplu: clasa PrimaMeaClasaJava

Nume metodă - Toate numele metodei ar trebui să înceapă cu o litere cu


majuscule. Dacă se folosesc mai multe cuvinte pentru a forma numele
metodei, atunci prima literă a fiecărui cuvânt interior trebuie să fie în
majuscule.
Exemplu: public void MetodaMea ()

21
Elemente de bază ale limbajelor de
programare
Sintaxa
Sintaxa de bază
Nume fișier program - Numele fișierului programului trebuie să
corespundă exact cu numele clasei.
Când salvați fișierul, ar trebui să îl salvați folosind numele clasei (Amintiți-vă
că Java este sensibil la majuscule) și să adăugați „.java” la sfârșitul numelui
(dacă numele fișierului și numele clasei nu se potrivesc, programul dvs. nu
se va compila ).
În cazul în care nu aveți o clasă publică prezentă în fișier, atunci numele
fișierului poate fi diferit de numele clasei. De asemenea, nu este obligatoriu
să existe o clasă publică în folder.
Exemplu: Presupunem că „PrimulMeuProgram” este numele clasei. Fișierul
ar trebui salvat ca „PrimulMeuProgram”.
public static void main (String args []) – Rularea programelor Java
începe de la metoda main () care este o parte obligatorie a fiecărui program
Java.

22
Întrebări?

23

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