1. Any primitive
type is overflow, it will became minus number and absolute value will be
one larger. For example, Byte.MAX_VALUE is 127, then it will be equal to -128,
same to other types

Meanwhile, if it is underflow, it will became positive and be equal to
Max_Value

2. Operation precedence and order

postfix operators |
[] . (params) expr++ expr-- |

unary operators |
++expr --expr +expr -expr ~ ! |

creation or cast |
new (type)expr |

multiplicative |
* / % |

additive |
+ - |

shift |
<< >> >>> |

relational |
< > >= <= instanceof |

equality |
== != |

AND |
& |

exclusive OR |
^ |

inclusive OR |
| |

conditional AND |
&& |

conditional OR |
|| |

conditional |
?: |

assignment |
= += -= *= /= %= >>= <<= >>>= &= ^= |= |

<< |
Shift bits left, filling with zero bits on the right-hand side |

>> |
Shift bits right, filling with the highest (sign) bit on the left-hand
side |

>>> |
Shift bits right, filling with zero bits on the left-hand side |