short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

对于 short s1 = 1; s1 = s1 + 1;由于 s1+1运算时会自动提升表达式的类型,所以结果是 int
型,再赋值给 short 类型 s1时, 编译器将报告需要强制转换类型的错误
对于
short s1 = 1; s1 += 1;由于 +=java 语言规定的运算符java 编译器会对它进行特殊
处理,因此可以
正确编译

posted @ 2017-02-18 14:51  wuyongwork  阅读(871)  评论(0编辑  收藏  举报