Java operators are symbols used to command the computer to perform operations on operands. They follow either of the formats shown in the diagram below and are classified into eight different categories which includes Arithmetic, Relational, Logical, Unary, Bitwise and Bit Shift, Assignment Operators.
Arithmetic Operators: These are similar to the basic operators in mathematics. See the list on table below:
Function  Operator  Example  Result (say X=10 and y=5) 
Addition  +  result= x + y  15 
Subtraction  –  result = x – y  5 
Multiplication  *  result = x * y  50 
Division  /  result = x / y  2 
Modulus(Remainder of the division of two operands)  %  result = x % y  0 
Relational Operators: These are operators used in comparing two operands and return a boolean value. See the list on table below:
Function  Operator  Example  Result (say X=10 and y=5) 
Equal to  ==  x == y  10==5= False 
Not Equal To  !=  x != y  10!=5 =True 
Greater than  >  x > y  10 > 5= True 
Less Than  <  x < y  10 < 5= False 
Greater than or Equal To  >=  x >= y  10>=5= True 
Less than or Equal To  <=  x <= y  10<=5= False 
Logical Operators: These are operators that returns a Boolean result that’s based on the Boolean value of one or two other operands or expressions. See the list on table below:
Function  Operator  Example  Example Result (say X=true and y=false) 
Logical AND

&&  x && y  true && false = False 
Logical OR

  x  y  true  false = True 
Logical not  !  !x  !true = False 
Unary Operators: They operate on a single operand. See the list on table below:
Function  Operator  Example  Result (say X=10) 
Unary Plus  +  result =+x  +10 = 10 
Unary Minus  –  result = x  10 = 10 
Increment  ++  result = x++  10++ = 11 
Decrement  —  result = x–  10– = 9 
Logical Complement (for boolean value)  !  result = !false  !false = true 
Bitwise and Bit Shift Operators: These are basic operators in mathematics. See the list on table below:
Function  Operator  Example  Example Result (say X=10=1010 and y=5=0101) 
Bitwise AND  &  x & y  1010 &0101 ==> 0000 =0 
Bitwise OR    x  y  1010  0101 ==> 1111 =15 
Bitwise XOR  ^  x ^ y  1010 ^ 0101 ==> 1111 =15 
Bitwise compliment  ~  ~ y  ~0101 ==> 1010= 6 
Signed left shift (shifts binary of the operand on the left to the left nth time)
n – operand on the right 
<<  1 << 3
1 ==> 00000001 i.e. 00000001 << 3

00001000 ==> 8
Hence 1<<3 = 8

Signed right shift
(shifts binary of the operand on the left to the right nth time) n – operand on the right 
>>  128 >> 1
128 ==> 10000000 i.e.10000000>>1

01000000 ==> 64
Hence 128>>1 = 64

Note: For Signed right shift, a binary number that begins with ‘1’ will shift in ‘1’s. A binary number that begins with ‘0’ will shift in ‘0’s.
Also, to confirm ~5 = 6, take the binary representation of 6, take its complement (inverting all the bits) and add one. See steps below:
 Binary of 6 ==> 0110
 Its complement ==> 1001
 Add one to it ==> 1001 +1 ==> 1010 = ~5
Assignment Operators: The assignment operator assigns the value on its right to the operand on its left. It is denoted by the symbol “=” and an operator. See the list on table below:
Function  Operator  Example  Meaning (say X=10 and y=5) 
Addition  +=  x +=y  x=10+5 ==> 15 
Subtraction  =  x =y  x=105 ==> 5 
Multiplication  *=  x *=y  x=10*5 ==> 50 
Division  /=  x /=y  x=10/5 ==> 2 
Modulus(Remainder of the division of two operands)  %=  x %=y  x=10%5 ==> 0 
Bitwise AND assignment operator  &=  x &=y  x=10&5 ==> 0 
Bitwise OR assignment operator  =  x =y  x=10  5 ==> 15 
Bitwise XOR and assignment operator  ^=  x ^=y  x=105 ==> 15 
Left shift AND assignment operator  <<=  x <<=y  x=10<<5 ==> 320 
Right shift AND assignment operator  >>=  x >>=y  x=10>>5 ==> 0 
Simple assignment  =  x = y  x = 5 
In my next post, I will be sharing sample codes showing how these operators can be used within the code. Until then, make an effort to practice using these operators … Happy Coding!!!