A-A+

下面程序片段的执行中 说法正确的是()。 public class Test { publi

2022-08-05 23:36:28 问答库 阅读 173 次

问题详情

下面程序片段的执行中,说法正确的是()。 public class Test { public static void main (String args[]) { byte y=20; int i=y; int x=100; y=x; System.out.println(y); } }
A.输出y的值为100
B.第4行错误
C.输出y的值为20
D.第6行错误请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:赋值运算符“=”把一个数据赋给一个变量,在赋值运算符两侧的类型不一致时,若左侧变量的数据类型的级别高,则右侧的数据被转化为与左侧相同的高级数据类型,然后赋给左侧变量,否则需要使用强制类型转换运算符。int类型级别比byte类型级别高,必须进行强制类型转换。第6行应改为y=(byte)x;。

考点:片段,说法