short s1 = 1; s1 = s1 + 1;有什么错? short s1 =1; short
short s1 = 1; s1 = s1 + 1;有什么错? short s1 =1; short s1 +=1;有什么错?
参考解答
对于前者,由于 s1 + 1 运算时会自动提升表达式的类型,所以结果是 int型,再赋值给 short类型s1时,编译器会报告需要强制类型转换的错误.
对于 short s1 = 1; s1 +=1; 由于 +=是 java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译.
相似问题
i++和++i的区别是什么?
i++和++i的区别是什么?
如何理解匿名内部类?
如何理解匿名内部类?
位移运算符有什么不同?
位移运算符有什么不同?
对象是什么?什么时候需要使用对象?
对象是什么?什么时候需要使用对象?
自定义异常需要继承哪个类?
自定义异常需要继承哪个类?
