Operator Precedence

Operator:

   . An object that is capable of manipulating value or operand.

Types of Operators:

   1. Arithmetic Operators:

OperatorDescription
+Adds two values
-Subtracts two values
*Multiplies two values
/Divides two values
%Returns remainder of two values

   2. Logical / Relational Operators:

OperatorDescription
==Returns true if two operands are equal
!=Returns true if two operands are unequal
>Returns true if left value is greater than right
<Returns true if left value is less than right
>=Returns true if left value is greater than or equal to right
<=Returns true if left value is less than or equal to right
&&Returns true if both expressions are true
||Returns true if either of expressions is true
!Reverses the value of expression

   3. Bitwise Operators:

      . Works on bits.
      . Converts value of operand into bits and perform operations.
OperatorDescription
&Performs Binary AND between two operands
|Performs Binary OR between two operands
^Performs Binary XOR between two operands
~Complements value
<<Performs Binary shift left
>>Performs Binary shift right

   4. Assignment Operators:

OperatorDescription
=Simple Assignment
+=Adds and assigns result in left operand
-=Subtracts and assigns result in left operand
*=Multiplies and assigns result in left operand
/=Divides and assigns result in left operand
%=Perform modulus and assigns result in left operand
<<=Perform binary left shift and assigns result in left operand
>>=Perform binary right shift and assigns result in left operand
&=Perform logic AND and assigns result in left operand
|=Perform logic OR and assigns result in left operand

   5. Unary Operators:

OperatorDescription
+Unary plus
-Unary minus
++Post/Pre Increment
--Post/Pre Decrement

Precedence:

   . Characteristic of operators which indicates when they will be evaluated when they appear in expression.
   . Example: '*' has higher precedence than '+'
   . When several operations occur in expression, each part is evaluated and resolved in an order.
   . Mathematical expressions should follow BODMAS rule which shows precedence of using operator in levels.
                  


    . In programming languages, we must follow operator precedence while performing calcualations
OperatorPrecedence
Postfixexpr++   expr--
Unary++expr   --expr   +expr   -expr
Multiplicative*   /   %
Additive+   -
Shift<<    >>
Relational<   >   <=   >=
Equality==    !=
Bitwise AND&
Bitwise XOR^
Bitwise OR|
Logical AND&&
Logical OR||
Assignment=    +=   -=   *=   /=   %=   <=    >=