CATEGORII DOCUMENTE |
Operatori
Operatori aritmetici
Acesti operatori sunt: + - * / % . De asemenea este folosit operatorul unar - pentru schimbarea semnului, precum si operatorul unar + (introdus pentru simetrie).
In aritmetica intreaga trebuie sa tinem cont de urmatoarele reguli:
- orice valoare ce depaseste limita admisa este redusa modulo aceasta limita; de aceea nu exista depasiri (overflow si underflow);
- impartirea intreaga se face prin trunchiere; de exemplu -8/3==-2, iar 8/3==2 ;
- operatorul % este definit prin: (x/y)*y+x%y==x
De exemplu 8%3==2, iar -8%3==-2.
Operatorii de incrementare si decrementare
Este vorba de operatorii unari ++ si --, care pot fi aplicati operanzilor numerici (intregi sau in virgula mobila) atat in forma prefixata cat si in forma postfixata.
Diferenta intre x++ si ++x consta in faptul ca incrementarea este realizata dupa, respectiv inainte de utilizarea lui x in contextul in care apare. Astfel, daca valoarea curenta a lui x este 4, atunci:
- evaluarea expresiei 2 * ++x conduce la rezultatul 10,
- evaluarea expresiei 2 * x++ conduce la rezultatul 8,
dupa care valoarea lui x va fi in ambele cazuri 5.
Operatorii de mai sus pot fi aplicati si pentru tipul char, semnificand trecerea la precedentul, respectiv urmatorul caracter din setul de caractere Unicode.
Operatorii de atribuire
Pe langa operatorul = folosit standard pentru atribuire, mai pot fi folositi si operatorii: += -= /= *= %= care reprezinta scrieri prescurtate. Astfel x+=y este echivalent cu x=x+y (cu exceptia faptului ca evaluarea adresei lui x se face o singura data).
Operatorii relationali
> (mai mare ca) >= (mai mare sau egal cu) == (egal cu)
< (mai mic ca) <= (mai mic sau egal cu) != (diferit de)
Operatori booleeni
(disjunctia logica, sau) && (conjunctia logica, si) ! (negatie)
cu mentiunea ca la evaluare se face scurtcircuitare (pe scurt, daca la evaluarea unei expresii booleene devine la un moment dat clara valoarea ei, nu se mai continua in mod inutil evaluarea; de exemplu daca expresia este disjunctia logica a trei termeni si valoarea primului este true, nu se mai evalueaza ceilalti termeni).
Operatori pe biti
Este vorba de operatorii binari si & care realizeaza disjunctia logica si conjunctia logica la nivel de bit, pentru fiecare pereche de biti de pe aceeasi pozitie din reprezentarea operanzilor.
Operatorul conditional ?:
Acest operator se utilizeaza in expresii sub forma:
( cond ? e1 : e2 )
a carei valoare este e1 daca cond este true, respectiv e2 daca cond este false; cond trebuie sa fie o expresie de tip boolean.
Operatori postfix
Includem aici:
- cuprinderea intre paranteze a indicilor (cu []);
- operatorul de calificare (.) folosit pentru accesarea membrilor claselor;
- parantezele rotunde folosite pentru specificarea listei de parametri din invocari;
- operatorii postfix de incrementare/decrementare ++ si -- de mai sus.
Operatorul de conversie a tipurilor
(tip) expresie
Operatorul + pentru lucrul cu siruri
Acest operator este folosit pentru concatenarea sirurilor. Trebuie mentionat ca daca un membru al unei sume este un sir de caractere, atunci are loc o conversie implicita a celorlalti membri ai sumei (devenita acum concatenare) la siruri de caractere. Mentionam ca printre membrii sumei pot aparea si variabile referinta (vom vedea un exemplu in cele ce urmeaza, cand vom discuta despre clase)
Operatorii pentru referinte
Sunt utilizati urmatorii operatori:
- accesul la campuri (prin calificare);
- invocarea metodelor (prin calificare);
- operatorul de conversie;
- operatorii == si != ;
- operatorul conditional;
- operatorul instanceof , folosit in contextul:
ob instanceof Clasa
care produce o valoare booleana ce este true daca si numai daca obiectul ob este diferit de null si este o instanta a clasei Clasa sau poate fi convertit la tipul Clasa.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1581
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved