duminică, 24 iulie 2011

Programare Java- 5

OPERATORI PENTRU COMPARATII

Java poseda mai multi operatori folositi pentru a face comparatii intre variabile , intre variabile si literale sau intre alte tipuri de informatie dintr-un program Java .

Acesti operatori sunt folositi in expresii care intorc valori booleene true si false , in functie de valoarea de adevar a comparatiei .

java

In cele ce urmeaza prezentam operatorii de comparatie uzitati in Java :

Operator Semnificatie Exemplu

== egal x==3

!= diferit x!=3

< mai mic decat x<3

> mai mare decat x>3

<= mai mic sau egal cu x<=3

>= mai mare sau egal cu x>=3

In continuare avem un exemplu practic de folosire a unei comparatii :

boolean tanar;

int varsta=41;

tanar=varsta<35;

Expresia varsta<35 produce rezultatul true sau false ( in cazul nostru false ) in functie de valoarea variabilei varsta . In final valoarea variabilei " tanar " va fi astfel false .

OPERATORI LOGICI

Expresiile care produc valori booleene ( cum ar fi comparatiile ) pot fi combinate pentru a forma expresii mai complexe . Acest lucru poate fi realizat folosind operatorii logici . Acesti operatori pot fi folositi pentru combinatii logice AND ( si ) , OR ( sau ) , XOR ( sau exclusiv ) si NOT ( negare ) .

Pentru combinatiile AND se folosesc operatorii logici & si && . Atunci cand doua expresii booleene sunt conectate prin operatorii & sau && expresia combinata returneaza valoarea true doar daca ambele expresii booleene au valoarea true .

Diferenta intre & si && consta in modul in care Java evalueaza expresia combinata . Daca se foloseste & atunci se evalueaza ambele expresii indiferent de valoarea lor . Daca se foloseste && si expresia din stanga operatorului are valoarea de adevar false atunci expresia din dreapta operatorului nu mai este evaluata deoarece rezultatul final va fi oricum false .

Pentru combinatiile OR se folosesc operatorii | sau || . Aceasta combinatie de expresii intoarce valoarea true daca cel putin una dintre expresiile booleene este adevarata .

In cazul folosirii operatorului || , daca prima expresie booleena are valoarea true atunci a doua nici nu se mai evalueaza , rezultatul final fiind oricum true .

Combinatia XOR foloseste un singur simbol : " ^ " . Acesta are ca rezultat o valoare true numai daca ambele expresii booleene pe care le combina au valori diferite . In cazul in care ambele expresii au valoarea true sau ambele false atunci rezultatul va fi false .

Combinatia NOT foloseste operatorul logic " ! " , urmat de o singura expresie . Acesta schimba valoarea unei expresii booleene in acelasi fel in care simbolul " - " schimba semnul pozitiv sau negativ al unui numar .

PRECEDENTA OPERATORILOR

Atunci cand intr-o expresie se folosesc mai multi operatori Java are stabilita o anumita ordine in care ii evalueaza . In majoritatea cazurilor aceasta precedenta determina valoarea finala a expresiei .

In general , ordinea operatiilor este urmatoarea :

- operatii de incrementare si decrementare

- operatii aritmetice

- comparatii

- operatii logice

- expresii de atribuire

Daca doua operatii au aceeasi precedenta , cea aflata mai in stanga expresiei va fi calculata prima .

In tabelul de mai jos avem prezentata precedenta operatorilor :

. [] ()

Parantezele rotunde se folosesc pentru a grupa expresii ; punctul se foloseste pentru a accesa metodele si variabilele din cadrul obiectelor si claselor ; parantezele drepte sunt folosite pentru tablouri .

++ -- ! instanceof

Instanceof intoarce valoarea true sau false daca obiectul este sau nu o instanta a clasei numite sau a unei subclase a acesteia

new (tip) expresie

Operatorul new este folosit pentru crearea de noi instante ale claselor ; in acest caz se foloseste pentru transformarea unei valori intr-un alt tip

* / %

Inmultire , impartire , modulo

+ -

Adunare , scadere

<< >> >>>

Deplasarea pe biti la stanga si la dreapta

< > >= <=

Comparatii

== !=

Teste de egalitate

&

AND

^

XOR

|

OR

&&

AND optimizat ( logic )

||

OR optimizat ( logic )

?:

Operatorul conditional

= += -= *= /= %=

Atribuiri

In cazul in care nu suntem siguri de precedenta diferitiolor operatori cea mai buna solutie este folosirea parantezelor pentru a impune precedenta dorita .

ARITMETICA SIRURILOR

Operatorul " + " este folosit nu doar pentru calcule matematice ci si pentru a concatena siruri .

Operatorul " + " concateneaza siruri , alte obiecte si variabile pentru a forma un singur sir .

Pentru a adauga ceva la sfarsitul unui sir se poate folosi si operatorul " += " , ca in exemplul urmator :

numeleMeu +=" Jr.";

Instructiunea anterioara este bineinteles echivalenta cu :

numeleMeu=numeleMeu + " Jr.";