*__Relational__: `Equal to (==)`, `Not Equal to (!=)`, `Greater than (>)`, `Less than (<)`, `Greater than or equal to (>=)`, `Less than or equal to (<=)`
**Always remember sign of greater and less than always come before assign i.e "="**
*__Bitwise__: `Bitwise And (&)`, `Bitwise Or (|)`, `Bitwise XOR (^)`, `Bitwise Compliment (~)`, `Left shift (<<)`, `Right Shift (>>)`, `Zero fill right shift (>>>)`.
**Bitwise operators are used to perform bitwise operation in places where calculation on binary numbers are required like-in ciphers,and to design virtual electronic circut replication etc. **
The `instanceof` operator is used for type checking. It can be used to test if an object is an instance of a class, a subclass or an interface. General format-
Often times students come across questions in exam/quizes involving complex equations/relations between different variables established with different combinations of assignmen operators. On face, they look preety ambiguous. But follwoing a simpe rule might make solving them preety straigh forward.
The rule itself is simple... On any circumstance, first one must deal with PRE-operations, then 'Assignment' operator and then finally comes with 'POST - operations'.
In summary, the order of operation is -
Step 1. PRE-operations
Step 2. Assignment
Step 3. POST - operations.
For example:
```java
int a = 1;
int b;
int b = a-- + ++a ;
```
What will be the value of a & b after the program compiles?
Step 1. PRE-operations:
a is assigned value 1.
Upon pre-assignment, it becomes 2(since it is '+' here)
Step 2. Assignment:
At this point,
a = 2
and for b ,
b =a-- + ++a
or, b = 2-- + 2 = 4. [Note:POST - operations has not yet come to play yet]
Step 3. POST - operations:
At this point,
b = 4
a = 2. But WAIT, there's still one 'post operation' on a to deal with... i.e. a--