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编译器会对它进行特殊处理,因此可以正确编译。
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编译器会对它进行特殊处理,因此可以正确编译。