第三题:
byte b = 10;
b++;
b = b + 1;
哪句是编译失败的呢?为什么呢?作者: 18343105017 时间: 2016-7-6 13:00
首先javaEE是不会考这个的,这只是java基础;-----------------------第一题:b1,b2,b都被定义为byte类型的,第二行的b1+b2运算完后会自动转换为int类型,则无法赋值给byte类型的b,会报Type mismatch: cannot convert from int to byte,第三行把3+4的常量值7赋值给byte类型的b是没错的,因为7在byte的范围-128~127之间作者: 18343105017 时间: 2016-7-6 13:04
第二题:因为byte类型的取值范围是-128~127之间,130超出了byte的范围,是int类型的,所有会报ype mismatch: cannot convert from int to byte;要解决的话就把byte换成int: int by = 130;作者: 18343105017 时间: 2016-7-6 13:06
第三题: 第二行的b++运算会强转回byte类型的,没问题,第三行的b+1运算完会自动转换为int类型,无法赋值给byte类型的byte,会报Type mismatch: cannot convert from int to byte;作者: 18343105017 时间: 2016-7-6 13:08
哥们,你这三个题都是最基础的题,这些玩意完全可以自己去验证,最好就别发论坛了,估计只有我这么闲的无聊的人会回复...作者: xfbyxq 时间: 2016-7-6 14:03
第一题 b=b1+b2会报错 byte类型参与运算会转成int 需要墙砖。第二提 130大于byte的取值范围 第三提:b=b+1 也是byte+1会转成int