0% au considerat acest document util (0 voturi)
54 vizualizări

Introducere in Java

Documentul prezintă introducere în programarea Java, inclusiv principiile programării orientate pe obiecte, caracteristici ale limbajului Java, noțiuni de bază, tipuri de date, operatori și expresii.

Încărcat de

Rox
Drepturi de autor
© © All Rights Reserved
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
54 vizualizări

Introducere in Java

Documentul prezintă introducere în programarea Java, inclusiv principiile programării orientate pe obiecte, caracteristici ale limbajului Java, noțiuni de bază, tipuri de date, operatori și expresii.

Încărcat de

Rox
Drepturi de autor
© © All Rights Reserved
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 47

PROGRAMARE JAVA

Ș.l. Dr. Inf. Oana–Sorina CHIRILA


INTRODUCERE - FORME DE PROGRAMARE
 Programare nestructurată - executarea secvenţială a tuturor comenzilor dintr-un
program;
 dimensiune şi complexitate redusă;
 dificil de întreţinut şi modificat;
 permite realizarea de programe de complexitate mică/medie;
 ex: BASIC, Q-BASIC, COBOL, Fortran, ş.a;
 Programare structurată – organizare şi structurare mai bună a programelor;
 mai uşor de modificat şi extins;
 permite reutilizarea codului scris – folosirea funcţiilor şi/sau procedurilor;
 programe de complexitate medie;
 permite lucrul în echipă la un program;
 ex: Pascal, C, ş.a;
 Programare orientată pe obiecte – modelează obiecte din lumea reală;
 introduce conceptul de obiect – contopirea datelor cu codul;
 întreţinere şi modificare mai uşoară a programelor;
 permite realizarea de programe mult mai complexe;
 simplifica lucrul în echipă la un program – fiecare membru al echipei are cate o parte
2
de program;
 ex: C++, Java, ş.a;
PROGRAMAREA ORIENTATĂ PE OBIECTE
 modelarea obiectelor reale, transpuse în limbajul de
programare clase;

 contopirea datelor cu codul – proprietăţile şi metodele


coexistă;

 uşurează realizarea de programe complexe;

 uşurează lucrul în echipe, datorită controlului mai bun


asupra secţiunilor programului;

 modularizare mai bună – permite o întreţinere mai uşoară a


programelor;

 reutilizare mai bună a codului – folosirea moştenirii;

 permite ascunderea detaliilor de implementare – public, 3

private, protected;
PRINCIPIILE POO
 încapsularea – modelarea obiectelor din lumea reală;

 datele (proprietăţile) şi metodele (acţiunile) coexistă în clase;

 ascunderea detaliilor de implementare (date şi metode private);

 localizare mai bună a erorilor;

 modularizarea mai eficientă a programului;

 simplifică depanarea şi extinderea ulterioară a programului;

 moştenirea – extinderea unei clase cu noi proprietăţi şi


funcţionalităţi, dintr-o clasă existentă;

 clasa extinsă va moştenii caracteristicile clasei moştenite;

 o clasă se poate deriva de oricâte ori;

 clasele derivate trebuie să fie asemănătoare, dar să aibă totuşi


trăsături distinctive; Exemplu moştenire şi polimorfism

 polimorfismul - o metodă poate avea forme diferite, în clase diferite;

 metodele respective pot să fie total diferite ca şi funcţionalitate; 4


INTRODUCERE ÎN JAVA
 Java este un limbaj de programare de nivel înalt, dezvoltat de JavaSoft,
companie în cadrul firmei Sun Microsystems.

 Limbajul de programare Java este un limbaj de programare robust care oferă o


serie de avantaje utilizatorilor săi :

 Exclusiv orientat pe obiecte (elimină complet stilul de programare


procedural)

 Programarea cu fire de execuţie

 Crearea de programe care să ruleze în cadrul unui browser web

 Portabilitate (Java este un limbaj independent de platformă de lucru,


aceeaşi aplicaţie rulând fără nici o modificare şi fără a necesita
recompilarea ei pe sisteme de operare diferite)

 Compilat şi interpretat (soluţia eficientă pentru obţinerea


5
portabilităţii)
MEDII DE DEZVOLTARE ŞI EDITOARE PENTRU JAVA
 Medii de dezvoltare profesionale:
 Eclipse – foarte flexibil, cel mai des folosit.
 NetBeans – necesită resurse ceva mai mari din partea calculatorului, are mediu vizual pentru
realizarea interfeţelor grafice (GUI).
 IntelliJ IDEA

 Editoare Java:
 JCreator – simplu şi bun pentru învăţat.
 jEdit – editor avansat Java.

 Editoare utile pentru învăţarea limbajului şi pentru testarea unor secvenţe de cod:
 jGrasp – editor scris în Java, permite crearea de diagrame UML, utile în proiectarea claselor
Java.
 BlueJ – editor conceput special pentru a învăţa Java.
 Dr Java – editor scris în Java, simplu şi uşor de folosit. Nu necesită instalare fiind o arhivă
Java (jar).

6
MEDIUL DE DEZVOLTARE ECLIPSE
 Poate fi descărcat de la adresa:
 https://www.eclipse.org/downloads/packages/

 Vom folosi Eclipse IDE for Eclipse Committers

 Se va descărca și instala de asemenea și Java


Development Kit (JDK)
 http://www.oracle.com/technetwork/java/javase/downloa
ds/index.html 7
MEDIUL DE DEZVOLTARE ECLIPSE

8

CARACTERISTICI JAVA

 orientat exclusiv pe obiecte;

 portabilitate mare;

 sintaxă preluată din limbajul C++;

 execuţia propriu-zisă este făcută de o maşină virtuală (JVM);

 pune la dispoziţia utilizatorului o bibliotecă de clase foarte

puternică şi complexă;

9
DIFERENŢE FAŢĂ DE LIMBAJUL C++ (1)

 Structură pur obiectuală;

 nu există funcţii şi variabile globale;

 nu există structuri, enumerări şi uniuni (struct, enum, union în C++);

 Tip de date nativ boolean (true şi false);

 Tip de date nativ String – lucrul cu şiruri de caractere;

 Mecanisme pentru tratarea structurată a excepţiilor;

 simplificarea structurării programelor;

 permit un control mai bun asupra erorilor apărute în timpul rulării programului;

 Obiectele sunt instanţiate doar dinamic – folosind operatorul new;

 Nu există pointeri (nici către obiecte, nici către metode);

 obiectele se accesează prin referinţele returnate de operatorul new;

10
DIFERENŢE FAŢĂ DE LIMBAJUL C++ (2)

 Nu suportă moştenire multiplă;

 se compensează prin existenţa interfeţelor

 Obiectele alocate dinamic nu trebuie dezalocate explicit;

 dezalocarea se face implicit, de către un mecanism de garbage-


collection

 determină automat când un obiect nu mai este folosit (nu mai există
referinţe către el);

 elimină necesitatea folosirii unui destructor;

 Mecanisme pentru programare concurentă - programe cu mai multe


fire de execuţie care rulează în paralel;

11
NOŢIUNI
 clasa – nou tip de date, creat de programator;
 caracteristicile clasei sunt descrise prin folosirea
celorlalte tipuri de date;
 permite folosirea şi de metode, pe lângă date;
 membrii pot avea mai multe atribute de
accesibilitate;

 obiect – o instanţiere a unei clase;


 se pot instanţia doar dinamic (folosind operatorul new);
 fiecare obiect are o zonă de memorie proprie;

 variabilă – este o locaţie de memorie care are


un tip asociat și conţine o valoare care este
compatibilă cu tipul variabilei.
12
TIPURI DE DATE FOLOSITE ÎN JAVA
Tipul reprezintă o mulţime de valori căreia i se poate ataşa un nume.
În Java există tipuri primitive şi tipuri referinţă.

Tipuri primitive:
Tip Dimensiune Domeniu valori Descriere
byte 8 biti -128 .. 127 nr. intregi
short 16 biti -32.768 .. 32.767 nr. intregi
int 32 biti -2.147.483.648 .. nr. intregi
2.147.483.647
long 64 biti -9 * 10e18 .. 9 * 10e18 nr. intregi
float 32 biti -3.402823*10e38 .. nr. reale
3.402823*10e38
double 64 biti -1.79769313486232*10e308 nr. reale
.. 1.79769313486232*10e308
boolean 8 biti [ false, true ] valori logice
char 16 biti caractere UNICODE caractere

Tipuri referinţă:
• tipul tablou,
• tipul clasa si 13
• tipul interfata.
OPERATORI ŞI EXPRESII (1)

 operatorul de atribuire (=): <nume variabilă>=<expresie>

 În Java se folosesc adeseori operatori compuşi care combină operatori de


atribuire cu alte tipuri de operatori:+=, -=, *=, /=, ^=, etc.

 operatori numerici:

+, -, *, /, %, ^, ~, <<, >>, <<<, >>>

 operatori logici:

==, !=, <, >, <=, >=, &, |, &&, ||, !, ^

 operatorul condiţional :

expr_boolean ? value0 : value1

14
OPERATORI ŞI EXPRESII (2)
Lista de precedenţă a operatorilor este:
. () []
++ -- ! ~ instanceof
new
*/ %
+-
<< >> <<< >>>
< > <= >=
== !=
&
~
|
&&
||
?:
= += -= *= /=
%= &= ||= <<= >>=
15
OPERATORI ŞI EXPRESII (3)
Simbol Operator Observatii
Atribuirea este operator in Java si nu instrucțiune; sunt permise atribuiri multiple
= atribuire
de genul a=b=c=5.
+ adunare Adunare de numere întregi sau reale; concatenare de șiruri de caractere
- scadere Scadere de numere intregi sau reale.
* inmultire Înmultire de numere intregi sau reale.
/ impartire Împartire de numere intregi sau reale. Pentru intregi returneaza catul impartirii.
% modulo Restul împărțirii
++ incrementare Poate fi aplicat pre sau post
-- decrementare Poate fi aplicat pre sau post
== egalitate Test egalitate, întoarce true sau false
!= inegalitate Test diferență, întoarce true sau false
> mai mare Test mai mare, întoarce true sau false
< mai mic Test mai mic, întoarce true sau false
>= mai mare sau egal Test mai mare sau egal, întoarce true sau false
<= mai mic sau egal Test mai mic sau egal, întoarce true sau false
&& AND SI logic
|| OR SAU logic
^ XOR SAU exclusiv logic
! NOT Negare logica
& bit AND SI pe biți
| bit OR SAU pe biți
^ bit XOR SAU exclusiv pe biți
<< left shift Deplasare stânga
>> right shift Deplasare dreapta
>>> right shift with 0 fill Deplasare dreapta cu inserție de 0
op= combinat x op= exp este echivalent cu x = x op exp
16
OPERATORI ŞI EXPRESII – EXEMPLE (1)
Operatorul de atribuire ( = )
 Exemplu:
int a,b,c,d,e;
a=10; //a va primi valoarea 10
b=a; //b va primi valoarea varibilei a, adică 10
c=d=12; //acelaşi lucru cu d=12; c=d;
e=f( ); //e primeşte valoarea returnată de funcţia f, şi va da eroare dacă f
nu returnează valoare int

Operatori aritmetici
 Exemplu:
int a,b,x;
byte c=3,d=4,e;
a=10;
b=a+30; //b va primi valoarea varibilei a+30, adică 40
a++; //a devine 11
e=c-1; //e va primi valoarea 3-1, adică 2 17
x=a*b; //x va primi valoarea 10*40
OPERATORI ŞI EXPRESII – EXEMPLE (2)
Operatori relaţionali
 Exemplu:
int a=2,b=4;
if (a==b) System.out.println("a este egal cu b"); //nu se va afişa
nimic deoarece a este diferit de b
if (a<=b) System.out.println("a este mai mic sau egal cu b"); //se va
afişa textul deoarece a este mai mic ca b

Operatori logici
 Exemplu:
int a=2,b=4;
if (a==b) && (a>4) System.out.println(“Text1!"); //nu se va afişa
nimic deoarece a este diferit de b şi a este mai mic ca 4
if (a==2) || (b==5) System.out.println (“Text2”); //se va afişa Test2

18
INSTRUCŢIUNI
Instrucţiunile asigură posibilitatea de luare a deciziilor, selecţiei din
mai multe variante în anumite condiţii, facilitează repetarea unor acţiuni, etc.
Instrucţiunile în Java se încheie cu punct şi virgulă (;). O instrucţiune poate fi o
expresie, un apel de metodă sau o declaraţie. Un bloc este un grup de instrucţiuni
care formează o instrucţiune compusă.

Instrucţiunile condiţionale sunt instrucţiuni care selectează pentru


execuţie o instrucţie dintr-un set de instrucţiuni în funcţie de o anumită condiţie.

 Instrucţiuni de decizie: if-else, switch-case


 Instrucţiuni de salt: for, while, do-while
 Instrucţiuni pentru tratarea excepţiilor: try-catch-finally, throw
 Alte instrucţiuni: break, continue, return, label.

19
INSTRUCŢIUNI CONDIŢIONALE (1)
Instrucţiunea IF conţine o expresie a cărei valoare este obligatoriu
de tip boolean. Evaluarea acestei expresii poate conduce doar la două valori:
adevărat sau fals.

Sintaxa acestei instrucţiuni este următoarea:

if (expresie) Instrucţiune;

sau

if (expresie)

Instrucţiune1;

else

Instrucţiune2;
20
INSTRUCŢIUNI CONDIŢIONALE (2)
Instrucţiunea SWITCH realizează o ramificaţie multiplă, spre
deosebire de cazul instrucţiunii if în care apar doar două ramuri.
Instrucţiunea switch permite saltul la o anumită instrucţiune în
funcţie de valoarea unei expresii. În plus, se poate specifica un caz pentru care să
se facă saltul implicit, dacă expresia nu ia nici una dintre valorile particulare
specificate. Sintaxa instrucţiunii switch este:
switch (expresie)

case valoare1: bloc_instrucţiuni1;
break;
case valoare2: bloc_instructiuni2;
break;
…..
default: bloc_instrucţiuniN;
break;
21

INSTRUCŢIUNI DE CICLARE(1)
Instrucţiunile de ciclare (sau expresiile de ciclare, buclele) execută ciclic
o secţiune de cod (instrucţiune sau bloc de instrucţiuni) până când este îndeplinită o
anumită condiţie. Verificarea condiţiei se poate face înainte de intrarea în buclă
(while, for) sau după executarea instrucţiunilor buclei (do-while).

Instrucţiunea while se foloseşte pentru execuţia repetată a unei


instrucţiuni atât timp cât o anumită expresie booleană rămâne adevărată. Expresia
condiţională se evaluează şi testează înainte de execuţia instrucţiunii, astfel că,
dacă expresia este de la început falsă, instrucţiunea nu se execută niciodată.

Sintaxa acestei instrucţiuni este:

while (expresie) instrucţiune;


sau
while (expresie)
{
bloc_instrucţiuni;
}
22
INSTRUCŢIUNI DE CICLARE(2)
Instrucțiunea do-while permite execuţia repetată a unui bloc de
instrucţiuni până când o expresie booleană este evaluată ca falsă, atunci când testul
de ieşire din buclă trebuie făcut după execuţia corpului buclei. Aceasta înseamnă că
instrucţiunile din corpul buclei vor fi executate cel puţin o dată.

Sintaxa instrucţiunii do-while este:

do instrucţiune while (expresie);

sau

do

bloc_instrucţiuni;
23
} while (expresie);
INSTRUCŢIUNEA BREAK
Instrucţiunea break produce întreruperea unei bucle (for, do, while) sau
a unui bloc switch. Controlul este dat instrucţiunii care urmează imediat după bucla
întreruptă sau după blocul instrucţiunii switch.

Exemplu:

Rezultat

24
INSTRUCŢIUNEA CONTINUE
Instrucţiunea continue se poate folosi pentru a "scurtcircuita" o buclă
(for, do sau while). Dacă într-o buclă este întâlnită instrucţiunea continue,
execuţia se reia de la prima instrucţiune a buclei, sărind peste instrucţiunile care
sunt cuprinse între continue şi sfârșitul buclei.

Exemplu:

Rezultat

25
CONSTRUCTORII UNEI CLASE
 În JAVA există două componente implicate în alocarea şi iniţializarea memoriei:

1. operatorul new

2. constructorul clasei

 Constructorul Java este un tip special de funcţie, care


- are acelaşi nume cu numele clasei în care este declarat;
- este utilizat pentru a iniţializa orice nou obiect de acel tip (stabilind valorile câmpurilor/atributelor
obiectului, în momentul creării lui dinamice);
- nu returnează nici o valoare;

 Declaraţia minimala a unui constructor Java (fără elemente opţionale) este:


NumeClasa() {
// Corp constructor
}

 Într-o clasă putem avea mai mulţi constructori, cu condiţia ca aceştia să difere prin numărul şi/sau tipul
parametrilor. Aceşti constructori se pot apela între ei folosind cuvântul cheie this.
26
EXCEPŢIILE ÎN JAVA
 Excepţia constituie un eveniment special care apare în execuţia unui program şi care întrerupe evoluţia
normală a acelui program

 În primul rând, obiectul de tip excepţie este creat cu ajutorul operatorului new. La apariţia excepţiei, fluxul
curent de execuţie este întrerupt. Pentru ca un obiect să poată fi aruncat ca excepţie, el trebuie să fie o
instanţa a clasei Throwable sau a unei clase derivate din aceasta

 Aruncarea unei excepţii se face utilizând cuvântul cheie throw

 Pentru tratarea excepţiilor în Java este nevoie de definirea unor blocuri try-catch-finally: în blocul try se pot
genera excepţii, în blocul catch se poate realiza tratarea excepţiei sau rearuncarea acesteia iar blocul finally
se execută indiferent dacă în try apare sau nu o excepţie

27
EXCEPŢIILE ÎN JAVA

 Compilatorul detecteaza care metode pot genera


exceptii si cere ca functiile care apeleazã aceste
metode sã arunce mai departe sau sã trateze
exceptiile posibile.
 Exemplu:
public static void main (String arg[ ]) throws Exception
{
int ch= System.in.read ( );
// citeste un caracter de la tastatura
System.out.println ((char) ch); // afisare caracter citit
}

28

EXCEPŢIILE ÎN JAVA
 O metodã care apeleazã o metodã ce aruncã exceptii verificate
trebuie fie sã semnaleze mai departe posibilitatea aparitiei acestei
exceptii (prin clauza throws), fie sã trateze exceptia printr-un bloc
try-catch care sã includã apelul metodei.

class Exemplu {
public static void main(String args[]) {
int num1, num2;
try {
num1 = 0;
num2 = 20 / num1;
} catch (ArithmeticException e) {
System.out.println("Eroare! Impartire la 0!");
}
}
}
29

PACHETE STANDARD
Câteva dintre pachetele standard Java:
 java.lang: conţine clasele fundamentale Java – IMPORTAT IMPLICIT ÎN ORICE
PROGRAM !

 java.util : este un pachet complex Java care oferă suport pentru lucrul cu liste, vectori, dicţionare,
etc.

 java.applet: conţine clase necesare unui program Java (applet) ce se execută în cadrul unui
browser web

 java.io : include clase necesare pentru lucrul cu stream-uri

 java.math : conţine funcţii matematice ce sunt în general utilizate pentru lucrul cu


numere mari

 java.sql : este des utilizat în lucrul cu baze de date

30
STRUCTURA PROGRAMELOR JAVA
 O aplicatie Java contine cel putin o clasã, care contine cel
putin o metodã cu numele "main" de tip void și cu atributele
static și public

 Ca si în C, executia unui program începe cu functia “main”,


doar cã “main” trebuie sã fie inclusã, ca metodã staticã, într-o
clasã si trebuie sã aibã un argument vector de siruri

 In Java nu conteazã ordinea în care sunt scrise functiile


(metodele) unei clase, deci o functie poate fi apelatã înainte
de a fi definitã si nici nu este necesarã declararea functiilor
utilizate (nu se folosesc prototipuri de functii). Orice functie
apartine unei clase si nu se pot defini functii în afara
claselor. 31

STRUCTURA PROGRAMELOR JAVA
 Exemplul urmãtor este un program minimal,
care afiseazã un text constant:

public class Main {


public static void main (String arg[) {
System.out.println (" Functia main");
}
}

32

STRUCTURA PROGRAMELOR JAVA
 Exemplul urmãtor este un fisier sursã cu o singurã
clasã, care contine douã metode, ambele publice si
statice:

class Main {
public static void main (String arg[ ])
{ // cu "main" incepe executia
scriere („Programare JAVA !");
}
public static void scriere (String txt) { // afiseaza un text pe ecran
System.out.println (txt);
}
} 33

CITIREA DATELOR DE LA TASTATURA SI
AFISAREA DATELOR PE ECRAN

 În limbajul Java nu exista instructiuni specializate pentru


citirea/scrierea datelor. Aceste operatii se realizeaza prin
intermediul unor metode existente in pachetele API ale
limbajului. Intrarea si iesirea in Java se realizeaza cu
ajutorul claselor de obiecte din pachetul predefinit java.io.

 Java ofera trei fluxuri predefinite pentru operatii I/O


standard:
 - System.in pentru intrarea standard de la tastatura;
 - System.out pentru iesirea standard la ecranul
calculatorului;
 - System.err pentru fluxul de erori

34

CITIREA DATELOR DE LA TASTATURA SI
AFISAREA DATELOR PE ECRAN

 Sintaxa folosita la apelul metodei print este:

System.out.print (<expresie>);

unde: - <expresie> - este numele unei variabile de


un tip de data sau este o expresie care foloseste
operatorul de concatenare pentru siruri de
caractere; daca nu toti operanzii din expresie sunt
siruri de caractere, ci alte tipuri primitive de date
atunci Java face o conversie temporara la tipul
String 35

CITIREA DATELOR DE LA TASTATURA SI
AFISAREA DATELOR PE ECRAN

 Citirea datelor de la tastatura se realizeaza cu


metoda readLine. Insa pentru citire trebuie sa
construim un obiect BufferedReader dintr-un
obiect InputStreamReader care la randul sau
este construit din System.in.
 Sintaxa folosita la apelul metodei readLine este:

<nume_obiect>.readLine();

unde: - <nume_obiect> - reprezinta o variabila de


tipul obiectului BufferedReader.
36

CITIREA DATELOR DE LA TASTATURA SI
AFISAREA DATELOR PE ECRAN
import java.io.*;
public class Afiseaza
{
public static void main(String[] args) throws IOException
{
System.out.println(„JAVA"); //afișare
System.out.print ("Introduceti un numar :");
//citire
InputStreamReader isr = newInputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
int a = Integer.parseInt(s);
System.out.println(s);
37
}
}
STRUCTURA PROGRAMELOR JAVA
 Numele unei metode statice trebuie precedat de numele
clasei din care face parte (separate printr-un punct), dacã
este apelatã dintr-o metodã a unei alte clase.

 Exemplu:
public class Main {
public static void main (String arg[ ])
{
ScrieText.scriere („Programare Java !");
}
}
public class ScrieText {
public static void scriere (String txt)
{
System.out.println (txt); 38

}
}
TIPURI CLASÃ

 O clasã este o structurã care poate contine atât


date cât si functii ca membri ai structurii. In
Java nu mai existã cuvântul cheie struct, iar
definirea unei clase foloseste cuvântul cheie
class.

 Se pot defini clase ce contin numai date publice,


echivalente structurilor din limbajele C si C++.

39

TIPURI CLASÃ

public class Punct


{ // orice punct din plan
private double x,y; // coordonate punct
public Punct (double xi, double yi)
{ // functie constructor
x=xi;
y=yi;
}
}
40

DEFINIREA SI UTILIZAREA DE VECTORI ÎN JAVA

 In Java, declararea unei variabile (sau unui


parametru formal) de un tip vector se poate face în
douã moduri, echivalente:
 tip nume [ ]; // la fel ca in C si C++
 tip [ ] nume; // specific Java

 Declararea matricelor (vectori de vectori) poate


avea si ea douã forme. Exemplu:
 int a[ ][ ] ; // o matrice de întregi
 int [ ][ ] b; // altã matrice de întregi

 In Java nu este permisã specificarea unor


dimensiuni la declararea unor vectori sau matrice,
deoarece alocarea de memorie nu se face niciodatã 41

la compilare.
DEFINIREA SI UTILIZAREA DE VECTORI ÎN JAVA

 O variabilã vector este automat în Java o variabilã


referintã iar memoria trebuie alocatã dinamic
pentru orice vector. Alocarea de memorie pentru
un vector se face folosind operatorul new,urmat de
un nume de tip si de o expresie (cu rezultat întreg)
între paranteze drepte;

 float x[ ] = new float [10]; // aloca memorie ptr 10 reali


 int n=10;
 byte[ ][ ] graf = new byte [n][n];

42

DEFINIREA SI UTILIZAREA DE VECTORI ÎN JAVA

 Este posibilã si o alocare automatã, atunci când


vectorul este initializat la declarare cu un sir de
valori.
 short prime[ ] = {1,2,3,5,7};

 In lipsa unei initializãri explicite, componentele


unui vector sunt initializate automat, cu valori ce
depind de tipul lor: zerouri pentru elemente
numerice, null pentru variabile referintã de orice
tip.
43

DEFINIREA SI UTILIZAREA DE VECTORI ÎN JAVA

 Variabila predefinitã cu numele length poate fi


folositã ( ca membru al claselor vector ) pentru a
obtine dimensiunea alocatã pentru un vector.

 Exemplu:
// functie de copiere a unui vector
public static void CopiereVector ( int a [ ] ,int b[ ] )
{
for (int i=0;i < a.length; i++) // a.length =dimensiune vector a
b[i] = a[i];
} 44

DEFINIREA SI UTILIZAREA DE VECTORI ÎN JAVA
 O matrice este privitã si în Java ca un vector de vectori, iar
variabila "length" se poate folosi pentru fiecare linie din
matrice.
class Matrice {
public static void afisareMatrice (int a[ ][ ])
{ // functie de afisare matrice
for (int i=0;i<a.length;i++) {
for (j=0; j<a[i].length; j++)
System.out.print (a[i][j]+ " ");
System.out.println ();
}
}
public static void main (String [ ] arg)
{ // utilizare functie
int mat[ ][ ]= { {1,2,3}, {4,5,6} };
afisareMatrice (mat); 45

}
}
CREAREA UNUI NOU PROIECT JAVA
În mediul de programare Eclipse se
urmăresc paşii:

click File > New > Project

Selectăm Java Project şi click Next

În câmpul Project name, vom scrie numele noului


proiect Java, cum ar fi ProiectJava

click Finish

click File > New > Class

În câmpul Name, vom scrie numele clasei

În aceiaşi fereastră vom alege proprietăţile clasei Fig. 1 Crearea unei clase
(Fig.1)
46
click Finish
EXEMPLU DE PROGRAM JAVA
import java.io.*;
public class PrimulProgram // declaratia clasei
{
public static void main (String[] args) // declaratia unei metode
{
System.out.println ("Primul program in Java!"); // corpul metodei
} // incheierea corpului metodei
} // incheierea corpului clasei

- execuţia programului începe de la funcţia main;


- trebuie să fie publică;
- static -> nu există un obiect instanţiat din clasa respectivă;
- tipul returnat: void;
- se poate lansa în execuţie folosind parametrii (args);

47

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