下面程序片段的执行中,说法正确的是(  )。 public class Test { public static void main (String args[]) { byte y=20;

admin2010-12-17  41

问题 下面程序片段的执行中,说法正确的是(  )。    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;。
转载请注明原文地址:https://kaotiyun.com/show/Zr9p777K
0

最新回复(0)