Operatory i wyrażenia

Ze zmiennych, stałych i literałów, posługując się operatorami języka i nawiasami możemy budować wyrażenia. Wartości wyrażeń są wyliczane podczas działania programu i mogą być w różny sposób wykorzystane przez instrukcje sterujące wykonaniem programu. Kolejność wyliczeń zależy od priorytetów i wiązań operatorów użytych w wyrażeniach. Piorytety mówią o kolejności różnych operacji, wiązania określają kolejność operacji o tym samym priorytecie. W załączonych przykładach wykorzystamy następujące zmienne: czyDobrze typu boolean, a, b typu int, x typu double, o wartościach początkowych zgodnych z poniższym opisem:

boolean czyDobrze=true;
int a=5,b=2;
double x=0.6;
string s="Cokolwiek";

Priorytet, wiązanieOperatorDziałaniePrzykładWynik
1.Selektor obiektuSystem.out
[]Indeks tablicytab[1]
()Wywołanie funkcjiPisz()
2, prawe!Negacja logiczna!czyDobrzefalse
~Bitowe uzupełnienie do 1~a-6
+Jednoargumentowy +
(liczba dodatnia)
+a5
-Jednoargumentowy -
(liczba ujemna)
-a-5
++Operator zwiększania++a6
--Operator zmniejszania--a4
(typ)Konwersja (rzutowanie)(int)x;0
instanceofStwierdzenie typu (dotyczy jedynie typów obiektowych)s instanceof Stringtrue
3, lewe*Mnożeniea*b10
/Dzieleniea/b2
%Reszta z dzieleniaa%b1
4, lewe+Dodawaniea+b7
-Odejmowaniea-b3
5, lewe<<Przesunięcie bitowea<<110
>>Przesunięcie bitowe w prawoa>>12
>>>Przesunięcie bitowe w prawo bez znakua>>>21
6, lewe<Operatory relacyjnea<bfalse
<=a<=bfalse
>=a>=btrue
>a>btrue
7, lewe==Operator równościa==bfalse
!=Operator nierównościa!=btrue
8&Bitowe ANDa&b0
9^Bitowe XORb^b0
10|Bitowe ORb|b2
11&&Logiczne AND(a<b)&&(a>0)false
12||Logiczne OR(a>b)||(a>0)true
13, prawe?:Operator warunkux=a<b?3:1x=1.0
14, prawe=Operatory przypisaniaa=ba=2
*=a*=ba=a*b
/=a/=ba=a/b
%=a%=ba=a%b
+=a+=ba=a+b
-=a-=ba=a-b
&=a&=ba=a&b
^=a^=ba=a^b
|=a|=ba=a|b
<<=a<<=ba=a<<b
>>=a>>=ba=a>>b
>>>=a>>>=ba=a>>>b

Data ostatniej modyfikacji: 15 marca 2001 r.