问题:
short s=1; s=s+1; //编译错误 short h=1; h+=1; //没有问题
解析: short占2个字节,而数字1为int类型,占4个字节,将int类型赋值给short类型需要强制(显示)类型转换。 所以 s=s+1编译错误 而h+=1 其实为 h=(h的类型)(h+1),没有问题。
扩展
java的基本类型 java的类型转换