黑马程序员技术交流社区

标题: 面试题5 [打印本页]

作者: 小白进阶之路    时间: 2018-1-2 21:46
标题: 面试题5
问:如下程序语句有什么问题吗?
short
s1
=

1
;
s1
=
s1
+

1
;
   
//1
short
s2
=

1
;
s2
+=

1
;
   
//2

答:对于注释 1 来说,在 s1+1 运算时会自动提升表达式的类型为 int,所以将 int 赋予给 short 类型的变量 s1 会出现类型转换错误(无法编译,IDE 提示错误),除非主动加上强转。对于注释 2 来说 += 是 java 语法规定的运算符,所以 java 编译器会对它进行转换特殊处理,故可以正确编译执行。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2