I\'d a code snippet:
class AutoTypeCast{ public static void main(String...args){ int x=10; byte b=20;//no compilation error byte c=x;
20 always can be represented by a byte, while x, which according to the compiler can be any integer, may be too large to be represented by a byte.