Previzualizare curs:

Cuprins curs:

1 Introducere ^in Java 11
1.1 Ce este Java ? 11
1.1.1 Limbajul de programare Java 11
1.1.2 Platforme de lucru Java 12
1.1.3 Java: un limbaj compilat ,si interpretat 13
1.2 Primul program 14
1.3 Structura lexical?a a limbajului Java 16
1.3.1 Setul de caractere 16
1.3.2 Cuvinte cheie 16
1.3.3 Identificatori 17
1.3.4 Literali 17
1.3.5 Separatori 19
1.3.6 Operatori 19
1.3.7 Comentarii 20
1.4 Tipuri de date ,si variabile 21
1.4.1 Tipuri de date 21
1.4.2 Variabile 22
1.5 Controlul execut,iei 24
1.5.1 Instruct,iuni de decizie 24
1.5.2 Instruct,iuni de salt 25
1.5.3 Instruct,iuni pentru tratarea except,iilor 26
1.5.4 Alte instruct,iuni 26
1.6 Vectori 26
1.6.1 Crearea unui vector 26
1.6.2 Tablouri multidimensionale 28
1.6.3 Dimensiunea unui vector 28
1.6.4 Copierea vectorilor 29
1
2 CUPRINS
1.6.5 Sortarea vectorilor - clasa Arrays 29
1.6.6 Vectori cu dimensiune variabil?a ,si eterogeni 30
1.7 S,iruri de caractere 30
1.8 Folosirea argumentelor de la linia de comand?a 31
1.8.1 Transmiterea argumentelor 31
1.8.2 Primirea argumentelor 32
1.8.3 Argumente numerice 34
2 Obiecte ,si clase 35
2.1 Ciclul de viat,?a al unui obiect 35
2.1.1 Crearea obiectelor 35
2.1.2 Folosirea obiectelor 37
2.1.3 Distrugerea obiectelor 38
2.2 Crearea claselor 39
2.2.1 Declararea claselor 39
2.2.2 Extinderea claselor 40
2.2.3 Corpul unei clase 41
2.2.4 Constructorii unei clase 42
2.2.5 Declararea variabilelor 46
2.2.6 this ,si super 49
2.3 Implementarea metodelor 50
2.3.1 Declararea metodelor 50
2.3.2 Tipul returnat de o metod?a 52
2.3.3 Trimiterea parametrilor c?atre o metod?a 53
2.3.4 Metode cu num?ar variabil de argumente 56
2.3.5 Supra^inc?arcarea ,si supradefinirea metodelor 57
2.4 Modificatori de acces 58
2.5 Membri de instant,?a ,si membri de clas?a 59
2.5.1 Variabile de instant,?a ,si de clas?a 59
2.5.2 Metode de instant,?a ,si de clas?a 61
2.5.3 Utilitatea membrilor de clas?a 62
2.5.4 Blocuri statice de init,ializare 63
2.6 Clase imbricate 64
2.6.1 Definirea claselor imbricate 64
2.6.2 Clase interne 66
2.6.3 Identificare claselor imbricate 66
2.6.4 Clase anonime 67
2.7 Clase ,si metode abstracte 67
CUPRINS 3
2.7.1 Declararea unei clase abstracte 68
2.7.2 Metode abstracte 68
2.8 Clasa Object 71
2.8.1 Orice clas?a are o superclas?a 71
2.8.2 Clasa Object 71
2.9 Conversii automate ^intre tipuri 74
2.10 Tipul de date enumerare 75
3 Except,ii 77
3.1 Ce sunt except,iile ? 77
3.2 "Prinderea" ,si tratarea except,iilor 78
3.3 "Aruncarea" except,iilor 82
3.4 Avantajele trat?arii except,iilor 85
3.4.1 Separarea codului pentru tratarea erorilor 85
3.4.2 Propagarea erorilor 87
3.4.3 Gruparea erorilor dup?a tipul lor 89
3.5 Ierarhia claselor ce descriu except,ii 90
3.6 Except,ii la execut,ie 91
3.7 Crearea propriilor except,ii 92
4 Intr?ari ,si ie,siri 95
4.1 Introducere 95
4.1.1 Ce sunt fluxurile? 95
4.1.2 Clasificarea fluxurilor 96
4.1.3 Ierarhia claselor pentru lucrul cu fluxuri 97
4.1.4 Metode comune fluxurilor 98
4.2 Folosirea fluxurilor 99
4.2.1 Fluxuri primitive 99
4.2.2 Fluxuri de procesare 100
4.2.3 Crearea unui flux 101
4.2.4 Fluxuri pentru lucrul cu fi,siere 103
4.2.5 Citirea ,si scrierea cu buffer 105
4.2.6 Concatenarea fluxurilor 107
4.2.7 Fluxuri pentru filtrarea datelor 108
4.2.8 Clasele DataInputStream ,si DataOutputStream 109
4.3 Intr?ari ,si ie,siri formatate 110
4.3.1 Intr?ari formatate 110
4.3.2 Ie,siri formatate 111
4 CUPRINS
4.4 Fluxuri standard de intrare ,si ie,sire 111
4.4.1 Afisarea informat,iilor pe ecran 112
4.4.2 Citirea datelor de la tastatur?a 112
4.4.3 Redirectarea fluxurilor standard 113
4.4.4 Analiza lexical?a pe fluxuri (clasa StreamTokenizer) 115
4.5 Clasa RandomAccesFile (fi,siere cu acces direct) 117
4.6 Clasa File 119
5 Interfet,e 121
5.1 Introducere 121
5.1.1 Ce este o interfat,?a ? 121
5.2 Folosirea interfet,elor 122
5.2.1 Definirea unei interfet,e 122
5.2.2 Implementarea unei interfet,e 123
5.2.3 Exemplu: implementarea unei stive 124
5.3 Interfet,e ,si clase abstracte 129
5.4 Mo,stenire multipl?a prin interfet,e 130
5.5 Utilitatea interfet,elor 132
5.5.1 Crearea grupurilor de constante 132
5.5.2 Transmiterea metodelor ca parametri 133
5.6 Interfat,a FilenameFilter 134
5.6.1 Folosirea claselor anonime 137
5.7 Compararea obiectelor 138
5.7.1 Interfat,a Comparable 139
5.7.2 Interfat,a Comparator 141
5.8 Adaptori 142
6 Organizarea claselor 145
6.1 Pachete 145
6.1.1 Pachetele standard (J2SDK) 145
6.1.2 Folosirea membrilor unui pachet 146
6.1.3 Importul unei clase sau interfet,e 147
6.1.4 Importul la cerere dintr-un pachet 148
6.1.5 Importul static 149
6.1.6 Crearea unui pachet 150
6.1.7 Denumirea unui pachet 151
6.2 Organizarea fi,sierelor 152
6.2.1 Organizarea fi,sierelor surs?a 152
CUPRINS 5
6.2.2 Organizarea unit?at,ilor de compilare (.class) 154
6.2.3 Necesitatea organiz?arii fi,sierelor 155
6.2.4 Setarea c?aii de c?autare (CLASSPATH) 156
6.3 Arhive JAR 157
6.3.1 Folosirea utilitarului jar 158
6.3.2 Executarea aplicat,iilor arhivate 159
7 Colect,ii 161
7.1 Introducere 161
7.2 Interfet,e ce descriu colect,ii 162
7.3 Implement?ari ale colect,iilor 166
7.4 Folosirea eficient?a a colect,iilor 168
7.5 Algoritmi polimorfici 170
7.6 Tipuri generice 171
7.7 Iteratori ,si enumer?ari 172
8 Serializarea obiectelor 177
8.1 Folosirea serializ?arii 177
8.1.1 Serializarea tipurilor primitive 179
8.1.2 Serializarea obiectelor 180
8.1.3 Clasa ObjectOutputStream 180
8.1.4 Clasa ObjectInputStream 181
8.2 Obiecte serializabile 183
8.2.1 Implementarea interfet,ei Serializable 183
8.2.2 Controlul serializ?arii 184
8.3 Personalizarea serializ?arii obiectelor 187
8.3.1 Controlul versiunilor claselor 188
8.3.2 Securizarea datelor 193
8.3.3 Implementarea interfet,ei Externalizable 194
8.4 Clonarea obiectelor 196
9 Interfat,a grafic?a cu utilizatorul 199
9.1 Introducere 199
9.2 Modelul AWT 200
9.2.1 Componentele AWT 202
9.2.2 Suprafet,e de afi,sare (Clasa Container) 204
9.3 Gestionarea pozit,ion?arii 206
9.3.1 Folosirea gestionarilor de pozit,ionare 207
6 CUPRINS
9.3.2 Gestionarul FlowLayout 209
9.3.3 Gestionarul BorderLayout 210
9.3.4 Gestionarul GridLayout 211
9.3.5 Gestionarul CardLayout 212
9.3.6 Gestionarul GridBagLayout 214
9.3.7 Gruparea componentelor (Clasa Panel) 218
9.4 Tratarea evenimentelor 219
9.4.1 Exemplu de tratare a evenimentelor 221
9.4.2 Tipuri de evenimente 224
9.4.3 Folosirea adaptorilor ,si a claselor anonime 227
9.5 Folosirea ferestrelor 232
9.5.1 Clasa Window 232
9.5.2 Clasa Frame 233
9.5.3 Clasa Dialog 236
9.5.4 Clasa FileDialog 239
9.6 Folosirea meniurilor 242
9.6.1 Ierarhia claselor ce descriu meniuri 243
9.6.2 Tratarea evenimentelor generate de meniuri 246
9.6.3 Meniuri de context (popup) 247
9.6.4 Acceleratori (Clasa MenuShortcut) 250
9.7 Folosirea componentelor AWT 250
9.7.1 Clasa Label 251
9.7.2 Clasa Button 252
9.7.3 Clasa Checkbox 253
9.7.4 Clasa CheckboxGroup 255
9.7.5 Clasa Choice 257
9.7.6 Clasa List 259
9.7.7 Clasa ScrollBar 261
9.7.8 Clasa ScrollPane 262
9.7.9 Clasa TextField 263
9.7.10 Clasa TextArea 265
10 Desenarea 269
10.1 Conceptul de desenare 269
10.1.1 Metoda paint 270
10.1.2 Suprafet,e de desenare - clasa Canvas 271
10.2 Contextul grafic de desenare 274
10.2.1 Propriet?at,ile contextului grafic 275
CUPRINS 7
10.2.2 Primitive grafice 275
10.3 Folosirea fonturilor 276
10.3.1 Clasa Font 277
10.3.2 Clasa FontMetrics 279
10.4 Folosirea culorilor 282
10.5 Folosirea imaginilor 286
10.5.1 Afi,sarea imaginilor 287
10.5.2 Monitorizarea ^inc?arc?arii imaginilor 289
10.5.3 Mecanismul de "double-buffering" 291
10.5.4 Salvarea desenelor ^in format JPEG 291
10.5.5 Crearea imaginilor ^in memorie 292
10.6 Tip?arirea 293
11 Swing 299
11.1 Introducere 299
11.1.1 JFC 299
11.1.2 Swing API 300
11.1.3 Asem?an?ari ,si deosebiri cu AWT 301
11.2 Folosirea ferestrelor 304
11.2.1 Ferestre interne 305
11.3 Clasa JComponent 307
11.4 Arhitectura modelului Swing 310
11.5 Folosirea modelelor 310
11.5.1 Tratarea evenimentelor 314
11.6 Folosirea componentelor 316
11.6.1 Componente atomice 316
11.6.2 Componente pentru editare de text 316
11.6.3 Componente pentru selectarea unor elemente 319
11.6.4 Tabele 324
11.6.5 Arbori 329
11.6.6 Containere 332
11.6.7 Dialoguri 335
11.7 Desenarea 336
11.7.1 Metode specifice 336
11.7.2 Considerat,ii generale 338
11.8 Look and Feel 340
8 CUPRINS
12 Fire de execut,ie 343
12.1 Introducere 343
12.2 Crearea unui fir de execut,ie 344
12.2.1 Extinderea clasei Thread 345
12.2.2 Implementarea interfet,ei Runnable 347
12.3 Ciclul de viat,?a al unui fir de execut,ie 352
12.3.1 Terminarea unui fir de execut,ie 355
12.3.2 Fire de execut,ie de tip "daemon" 357
12.3.3 Stabilirea priorit?at,ilor de execut,ie 358
12.3.4 Sincronizarea firelor de execut,ie 362
12.3.5 Scenariul produc?ator / consumator 362
12.3.6 Monitoare 367
12.3.7 Semafoare 369
12.3.8 Probleme legate de sincronizare 371
12.4 Gruparea firelor de execut,ie 373
12.5 Comunicarea prin fluxuri de tip "pipe" 376
12.6 Clasele Timer ,si TimerTask 378
13 Programare ^in ret,ea 383
13.1 Introducere 383
13.2 Lucrul cu URL-uri 385
13.3 Socket-uri 387
13.4 Comunicarea prin conexiuni 388
13.5 Comunicarea prin datagrame 393
13.6 Trimiterea de mesaje c?atre mai mult,i client,i 397
14 Appleturi 401
14.1 Introducere 401
14.2 Crearea unui applet simplu 402
14.3 Ciclul de viat,?a al unui applet 404
14.4 Interfat,a grafic?a cu utilizatorul 406
14.5 Definirea ,si folosirea parametrilor 408
14.6 Tag-ul APPLET 410
14.7 Folosirea firelor de execut,ie ^in appleturi 412
14.8 Alte metode oferite de clasa Applet 416
14.9 Arhivarea appleturilor 420
14.10Restrict,ii de securitate 421
14.11Appleturi care sunt ,si aplicat,ii 421
CUPRINS 9
15 Lucrul cu baze de date 423
15.1 Introducere 423
15.1.1 Generalit?at,i despre baze de date 423
15.1.2 JDBC 424
15.2 Conectarea la o baz?a de date 425
15.2.1 Inregistrarea unui driver 426
15.2.2 Specificarea unei baze de date 427
15.2.3 Tipuri de drivere 428
15.2.4 Realizarea unei conexiuni 430
15.3 Efectuarea de secvent,e SQL 431
15.3.1 Interfat,a Statement 432
15.3.2 Interfat,a PreparedStatement 434
15.3.3 Interfat,a CallableStatement 437
15.3.4 Obt,inerea ,si prelucrarea rezultatelor 438
15.3.5 Interfat,a ResultSet 438
15.3.6 Exemplu simplu 440
15.4 Lucrul cu meta-date 442
15.4.1 Interfat,a DatabaseMetaData 442
15.4.2 Interfat,a ResultSetMetaData 443
16 Lucrul dinamic cu clase 445
16.1 Inc?arcarea claselor ^in memorie 445
16.2 Mecanismul reflect?arii 452
16.2.1 Examinarea claselor ,si interfet,elor 453
16.2.2 Manipularea obiectelor 456
16.2.3 Lucrul dinamic cu vectori 460

Extras din curs:

Java este o tehnologie inovatoare lansatade compania Sun Microsystems in

1995, care a avut un impact remarcabil asupra intregii comunitati a dezvoltatorilor

de software, impunandu-se prin calitati deosebite cum ar fi simplitate,

robustete si nu in ultimul rand portabilitate. Denumitainitial OAK,

tehnologia Java este formatadintr-un limbaj de programare de nivel inalt pe

baza caruia sunt construite o serie de platforme destinate implementarii de

aplicatii pentru toate segmentele industriei software.

1.1.1 Limbajul de programare Java

Inainte de a prezenta in detaliu aspectele tehnice ale limbajului Java, saamintim

caracteristicile sale principale, care l-au transformat intr-un interval de

timp atat de scurt intr-una din cele mai pupulare optiuni pentru dezvoltarea

de aplicatii, indiferent de domeniu sau de complexitatea lor.

- Simplitate - eliminasupraincarcarea operatorilor, mostenirea multipla

si toate "facilitatile" ce pot provoca scrierea unui cod confuz.

- Usurintain crearea de aplicatii complexe ce folosesc programarea in

retea, fire de executie, interfatagrafica, baze de date, etc.

- Robustete - eliminasursele frecvente de erori ce apar in programare

prin renuntarea la pointeri, administrarea automataa memoriei si elim-

11

12 CAPITOLUL 1. INTRODUCERE iN JAVA

inarea pierderilor de memorie printr-o procedurade colectare a obiectelor

care nu mai sunt referite, ce ruleazain fundal ("garbage collector").

- Complet orientat pe obiecte - eliminacomplet stilul de programare

procedural.

- Securitate - este un limbaj de programare foarte sigur, furnizand

mecanisme stricte de securitate a programelor concretizate prin: verificarea

dinamicaa codului pentru detectarea secventelor periculoase,

impunerea unor reguli stricte pentru rularea proceselor la distanta, etc.

- Neutralitate arhitecturala- comportamentul unei aplicatii Java nu

depinde de arhitectura fizicaa masinii pe care ruleaza.

- Portabililtate - Java este un limbaj independent de platforma de lucru,

aceeasi aplicatie ruland faranici o modificare si faraa necesita recompilarea

ei pe sisteme de operare diferite cum ar fi Windows, Linux,

Mac OS, Solaris, etc. lucru care aduce economii substantiale firmelor

dezvoltatoare de aplicatii.

- Este compilat si interpretat, aceasta fiind solutia eficientapentru

obtinerea portabilitatii.

- Performanta- desi mai lent decat limbajele de programare care genereaza

executabile native pentru o anumitaplatformade lucru, compilatorul

Java asigurao performantaridicataa codului de octeti, astfel incat

viteza de lucru putin mai scazutanu va fi un impediment in dezvoltarea

de aplicatii oricat de complexe, inclusiv grafica3D, animatie, etc.

- Este modelat dupaC si C++, trecerea de la C, C++ la Java

facandu-se foarte usor.

1.1.2 Platforme de lucru Java

Limbajul de programare Java a fost folosit la dezvoltarea unor tehnologii dedicate

rezolvarii unor probleme din cele mai diverse domenii. Aceste tehnologii

au fost grupate in asa numitele platforme de lucru, ce reprezintaseturi de

librarii scrise in limbajul Java, precum si diverse programe utilitare, folosite

pentru dezvoltarea de aplicatii sau componente destinate unei anume categorii

de utilizatori.

1.1. CE ESTE JAVA ? 13

- J2SE (Standard Edition)

Este platforma standard de lucru ce oferasuport pentru crearea de

aplicatii independente si appleturi.

De asemenea, aici este inclusasi tehnologia JavaWeb Start ce furnizeaza

o modalitate extrem de facilapentru lansarea si instalarea localaa programelor

scrisein Java direct de peWeb, oferind cea mai comodasolutie

pentru distributia si actualizarea aplicatiilor Java.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Java.pdf
Alte informații:
Tipuri fișiere:
pdf
Diacritice:
Da
Nota:
9/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
462 pagini
Imagini extrase:
462 imagini
Nr cuvinte:
92 418 cuvinte
Nr caractere:
557 737 caractere
Marime:
1.42MB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Tag-uri:
java, programare, limbaj
Predat:
la facultate
Materie:
Calculatoare
Sus!