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.
In Java, a short has a maximum value of 32767. This is smaller than the integer literal that you are trying to assign to it. Hence, in the first case, it is complaining about a lost of precision, as the value will overflow, when converted to a short.
In Java, a literal value (ie. a number) is considered to be an integer. And an integer has a maximum value of 2147483647. Hence, in the second case, it is complaining about the integer literal as not being valid.