short s1=1;s1=s1+1;有什么错误?short s1=1;s1+=1;有什么错?
对于short s1=1;s1=s1+1;由于运算的时候会自动的提升表达式的类型,所以结果是int型,再赋值给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;由于运算的时候会自动的提升表达式的类型,所以结果是int型,再赋值给s1;编译器会报需要强制转换类型的错误,
对于short s1=1;s1+=1;由于+=是java语言规定的运算符,java编译器会自动的对它进行特殊处理,所以可以正确编译。