2个回答
2020-09-09 · 学动漫、设计、电竞、电商、短视频、软件等
关注
展开全部
1)选项c
short a = 300 ;
a = (byte)(a+3);
这句话就是将a(short)+3(int)的结果int类型的303强制转换为byte类型的a
byte类型类型的最大值为127, 303溢出,高位截掉后输出47
但不会报语法错误。
2 a =(short)a+3 会报编译错误
Java语法中数据常量默认类型为int, 所以3是int类型的整数类型常量。
(short)a +3(int) 的类型为int ,将int类型(64位)的303赋值给short类型(32位)的a,在编译时报错
所以 a =(short)a+3 系统编译会报错
正确的语法 应为 a = (short)(a+3)。
你明白了吗?
short a = 300 ;
a = (byte)(a+3);
这句话就是将a(short)+3(int)的结果int类型的303强制转换为byte类型的a
byte类型类型的最大值为127, 303溢出,高位截掉后输出47
但不会报语法错误。
2 a =(short)a+3 会报编译错误
Java语法中数据常量默认类型为int, 所以3是int类型的整数类型常量。
(short)a +3(int) 的类型为int ,将int类型(64位)的303赋值给short类型(32位)的a,在编译时报错
所以 a =(short)a+3 系统编译会报错
正确的语法 应为 a = (short)(a+3)。
你明白了吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询