Java - Operatii de Intrare/iEsire (I/E)

Download Report

Transcript Java - Operatii de Intrare/iEsire (I/E)

C1 – LPO (Java)
CUPRINS

Istoric Java.

Avantaje.

Rularea aplicaţiilor Java şi JVM.

JDK, pachete şi împachetări Java.

Concepte de bază: cuvinte cheie,
variabile, convenţii de nume, definiţia
de metodă, blocul, instrucţiuni.

Compilare şi rulare.
Obiective
Dupa parcurgerea acestui curs ar trebuie sa
puteti:
 descrie caracteristicile si avatanjele limbajului
Java;
 descrie masina virtuala Java (JVM);
 identifica componentele de baza ale kitului de
dezvoltare Java (JDK)
 identifica componentele cheie ale limbajului
 instala, compila si rula o aplicatie Java simpla
Ce este Java?


Proiectat de James Gosling pentru firma Sun
in scopul programarii aparaturii electronice si
electrocasnice.
Limbaj de programare de nivel inalt:



orientat pe obiect (obliga programatorul sa
abordeze aceasta paradiga in dezvoltare) si
cu biblioteci de clase (au predefinite codul pt.
cerinte clasice).
Foloseste o masina virtuala (JVM) pentru
rularea programelor.
Avantaje


> inca gratuit
Orientat pe obiect: totul este obiect
Interpretat si independent de platforma:
aplicatiile executabile pot fi rulate pe orice
platforma, fara recompilare
Dinamic si distribuit: limbajul are implementate
facilitati de lucru prin retea
Cu fire de executie multiple: facilitate
implementata in limbaj si in masina virtuala
Robust si sigur: constructiile de limbaj
periculoase s-au eliminat
(cu foarte mici exceptii)
(daca exita masina virtuala pentru ele)



(gestionarea memoriei se face automat)
Rularea aplicatiilor Java


Codul sursa Java este stocat în fisiere
.java
Compilare
JVM
.Programul .java este compilat
în cod
(javac)
de biti
si stocat in fisiere (java)
.class
.Codul de biti
este
interpretat la rulare
stude
nti.class
de masina virtuala Java (JVM).

studenti.java
Fisier
sursa
Java
Compilator
Java
Codul
de biti
Java
Masina
Virtuala
Java
Program
Java in
executie
Masina Virtuala Java (JVM)




Masina Virtuala: software ce simuleaza
functionarea unui calculator fizic;
Aplicatiile se ruleaz intr-o JVM locala, ce
trebuie instalata, direct din sistemul de
operare.
JVM interpreteaza programul Java si îl
converteste în instructiuni masina specifice
platformei (sistem de operare+procesor).
Rularea programului se face plecând de la o
metoda statica numita main().
Ce este JDK?
Mediul de dezvoltare JDK Sun contine:
 Compilator > javac - compileaza codul
sursa Java în codul de biti (bytecode) Java
rulat de JVM;
 Interpretorul codului de biti > java care este JVM ce ruleaza aplicatiile Java;
 Generatorul de documentatie > javadoc
> genereaza pagini web (HTML) pe baza
cometariilor
 Depanator, dezasamblor, …
Pachete Java


Echivalentul bibliotecilor C, C++; asigura
bazele pentru functionarea lui Java; sunt
implementate sub forma unor grupari de clase
dupa funcionalitate.
Pachetele standard sunt pentru lucrul cu:





Limbajul > java.lang
Ferestre > javax.swing
Intrare/iEşire > java.io
Comunicaţie în reţea > java.net
Programatorul poate crea noi pachete.
Împachetri, platforme şi
versiuni Java
Împachetari:



J2SE - Java 2 Platform, Standard Edition >
aplicaţii care rulează pentru un singur calculator;
J2EE - Enteprise Edition > aplicaţii client/server
distribuite;
J2ME - Micro Edition > aplicaţii care rulează pe un
dispozitiv consumator (PDA, telefon celular etc.).
Platforme (SOP + UCP): Solaris, Windows ... +
SPARC, Intel ...
Versiuni: Java release 1.0, 1.1; Java release 2,
versiunea 1.2, 1.3, 1.4, 1.5, 1.6 …




Fiecare impachetare Java are o ediţie SDK
(Software Development Kit) prin care se pot
crea, compila, executa programele în
tehnologie Java pentru o platformă particulară.
Java este strâns legată de J2SE SDK sau, pe
scurt, JDK deoarece majoritatea
programatorilor îşi încep cariera pe PC-uri.
Începând cu JDK 1.2 toate versiunile au fost
numite, pe scurt, Java 2 > schimbări majore a
la nivelul bibliotecilor şi al integrării limbajului în
contextul unor tehnologii software noi.
JRE (Java Runtime Environement) > JVM +
pachete necesare rulării de aplicaţii Java (fără
posibilitatea dezvoltării de aplicaţii)
Conventii si componente de
limbaj Java
Programul Java este format din clase, obiecte si
metode care interactioneaza …
Fisier: Salut.java, MasaIdealaV1.java
Clase: Salut, MasaIdealaV1, Integeaza
Metode: main(), citesteDate()
Variabile: numeClient, xMax, y
Constante: O_CT, MAX_VAL
Caracterele pot fi scrise cu litere mici sau cu
majuscule, conteaza !
Definitia de Clasa
Clasa reprezintă un şablon pentru descrierea stării şi a
comportamentului asociat unui obiect( din acea clasa)
Definitia de clasa curpinde:







modificatori de acces: definesc vizibilitatea clasei in
raport cu alte clase
cuvantul cheie class: anunta compilatorul Java ca
urmeaza 1 definitie de clasa
variabile de instanta: definesc starea obiectelor din
clasa
constructori: defineste starea initiala a obiectelor din
acea clasa
metode de instanta: definesc actiunile ce se pot face cu
variabilele de instanta
variabile de clasa: definesc starea clasei, parajata de
toate obiectele si de clasa
metode de clasa: controleaza variabilele de clasa.
Definitia de Metoda



metoda realizeaza o actiune cu variabilele obiectului (schimba starea
obiectului) in scopul indeplinirii unei operatii;
se implementeaza sub forma unor proceduri sau functii (întorc valori de
un anumit tip cu return) ce se apeleaza daca dorim realizare operatiei;
pot fi definite numai într-o definitie de clasa, astfel:
modificator tip nume([lista parametri]) {
corp_1
}


este identificata unic prin nume impreuna cu secventa tipurilor din lista
de parametri avand vizibilitatea controlata prin modificator
reutilizarea aceluiasi nume se poate face doar in anumite conditii prin:



supraincarcare (overloading): reutilizare cu parametri si tip intors diferiti;
suprascriere (overriding): reutilizare cu parametri si tip identici
metodele supraincarcate coexista pentru a sustine un concept; cele
suprascrise inlocuiesc metoda suprascrisa
3.
Editarea: Salut1 ➡ salvare pe disc cu
extensia .java
Compilarea: javac Salut1.java ➡
Salut1.class
Acelasi nume
Rularea: java Salut1
Modificator de acces
Editarea compilarea si
rularea unei aplicatii Java
// Fisier: Salut1.java
Nume de clasa
public class Salut1 {// << inceput bloc > clasa Salut1
// executia unei aplicatii Java incepe cu metoda main.
public static void main( String args[] )
{
Nume de metoda
System.out.println("Salut !" );
} // terminare metoda main
} // << sfarsit de bloc > terminare clasa Salut1
1.
2.
Blocul de cod
Blocul cuprinde codul intre acolade { …}. Apare
tipic in :





definitia de clasa
definitia de metoda
intr-o metoda
Blocul incepe la acolada { si se termina la
acolada }.
In unele contexte (la instructiuni) este
sintactic echivalet cu o singura linie de cod.
Rezumat







Codul Java este compilat in cod pe biti independent de
platorma
Codul pe biti este interpretat de JVM
JDK contine instrumentele software de baza pentru dezvoltarea
de aplicatii Java
JDK contine pachetele de clase predefinitie esentiale pentru
dezvoltarea de aplicatii
Programele Java sunt formate din clase, obiecte si metode
Utilizarea conventiilor de nume cresc lizibilitatea si asigura
reutilizarea codului
Definitia de clasa, metoda si bloc.
Intrebari
1.
2.
3.
4.
5.
Masina Virtuala Java este un dispozitiv
hardware?
Care sunt avantajele limbajului Java?
Ce sunt JDK si JRE?
Care sunt numele compilatorului si masinii
virtuale?
Care este impachetarea pe care incep sa
dezvolte majoritatea programatorilor?
Raspunsuri
1.
2.
3.
4.
5.
JVM este un emulator software a unei masini fizice.
Orientat pe obiect, Interpretat si independent de
platforma, Dinamic si distribuit, Cu fire de executie
multiple, Robust si sigur.
JDK (Java Development Kit) > Mediul de dezvoltare JDK
Sun si contine: compilator, interpretorul codului de biti,
generatorul de documentatie , depanator, dezasamblor, …
JRE (Java Runtime Environement) > JVM + pachete
necesare rulării de aplicaţii Java (fără posibilitatea
dezvoltării de aplicaţii).
javac si java.
J2SE - Java 2 Platform, Standard Edition > pentru aplicaţii
care rulează pentru un singur calculator.
Bibliografie
1.
2.
3.
4.
5.
6.
http://www.oracle.com/technetwork/java/javase/documenta
tion/index.html
http://docs.oracle.com/javase/6/docs/
Ştefan Tanasă, Cristian Olaru, Ştefan Andrei, Java de la 0
la expert, Polirom, 2003, ISBN: 973-681-201-4.
Herber Schild, Java 2 - The Complete Reference, Fourth
Edition, Osborne, 2001, ISBN: 0-07-213084-9.
Deitel H.M., Deitel P. J., Java - How to programm, Fith
Edition, Prentice Hall, 2003, ISBN: 0-13-120236-7.
http://www.east.utcluj.ro/mb/mep/antal/downloads.html