Data

Operations

Java

 

Arithmetic Operators

Java 8
// assume a=5, b=2 for each line.

val= a + b;    // val -> 7
val= a - b;    // val -> 3
val= a * b;    // val -> 10
val= a / b;    // val -> 2
val= a % b;    // val -> 1
val= a++;      // val -> 5 then a -> 6
val= ++a;      // a -> 6 then val -> 6
val= b--;      // val -> 2 then b -> 1
val= --b;      // b -> 1 then val -> 1

+     sums left and right
-     subtracts right from left
*     multiplies left and right
/     divides left and right
%     reminder of the left divided by right
x++   returns x and then increments x by 1
++x   increments x by 1 and then returns x
x--   returns x and then decrements x by 1
--x   decrements x by 1 and then returns x

 

Comparison Operators

Java 8
// assume a=5, b=2 for each line.

val= (a == b);     // val -> false
val= (a != b);     // val -> true
val= (a > b);      // val -> true
val= (a >= b);     // val -> true
val= (a < b);      // val -> false
val= (a <= b);     // val -> false

==    is left and right equal
!=    is left and right different
>     is left bigger than right
>=    is left bigger or equal than right
<     is left smaller than right
<=    is left smaller or equal than right

 

Logical Operators

Java 8
// assume yes=true, no=false for each line.

val= (no && no);       // val -> false
val= (no && yes);      // val -> false
val= (yes && no);      // val -> false
val= (yes && yes);     // val -> true

val= (no || no);       // val -> false
val= (no || yes);      // val -> true
val= (yes || no);      // val -> true
val= (yes || yes);     // val -> true

val= (!yes);           // val -> false
val= (!no);            // val -> true

&&    logical and of left and right
||    logical or of left and right
!     logical not of its right operand

 

Bitwise Operators

Java 8
int a=5;       // 0000 0101
int b=12;      // 0000 1100

val= (a & b);  // val -> 4  (0000 0100)
val= (a | b);  // val -> 13 (0000 1101)
val= (a ^ b);  // val -> 9  (0000 1001)
val= (~b);     // val ->-13 (1111 0011)
val= (b<<2);   // val -> 48 (0011 0000)
val= (b>>2);   // val -> 3  (0000 0011)
val= (b>>>2);  // val -> 3  (0000 0011)

&    bitwise and of left and right
|    bitwise or of left and right
^    bitwise xor or left and right
~    bitwise one complement of right operand
<<   bitwise left shift of left in amount of right
>>   bitwise signed right shift of left in amount of right
>>>  bitwise unsigned right shift of left in amount of right

Operator >> respect the sign of the number but >>> always fills 0 irrespective of the sign of the number.

int val, a=-2;
val = (a>>1);  // val -> -1
val = (a>>>1); // val -> 2147483647
 

Assignment Operators

Java 8
// assume a=5, b=2 for each line.

val= (a = b);      // val -> a -> 2
val= (a += b);     // val -> a -> 7
val= (a -= b);     // val -> a -> 3
val= (a *= b);     // val -> a -> 10
val= (a /= b);     // val -> a -> 2
val= (a %= b);     // val -> a -> 1
val= (a <<= b);    // val -> a -> 20
val= (a >>= b);    // val -> a -> 1
val= (a &= b);     // val -> a -> 0
val= (a |= b);     // val -> a -> 7
val= (a ^= b);     // val -> a -> 7

=    assigns left to right
+=   assigns left to sum of left and right
-=   assigns left to subtract of right from left
*=   assigns left to multiplication of left and right
/=   assigns left to division of left to right
%=   assigns left to reminder of left divided to right
<<=  assigns left to rightShift of left to value right
>>=  assigns left to leftShift of left to value right
&=   assigns left to bitwise and left and right
|=   assigns left to bitwise or left and right
^=   assigns left to bitwise xor left and right