黑马程序员技术交流社区
标题:
面试题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