short s; s=s+1; short n;n+=1 的区别
问题:
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的类型转换
问题:
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的类型转换