This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
1 and 2 are not same thing. 1 is identical to b=(byte) b+10; works fine. 2 does not compile because b is converted to int (due to + operator) and after adding 10, the result(int) can not be assigned to byte value.