首页上一页 1 下一页尾页 2 条记录 1/1页
显式转换byte d =(byte) ((byte)a+b)不等于byte d =(byte)(a+b)?
发表在Java视频课程答疑
2017-05-19
是否精华
是
否
版块置顶:
是
否
public class Num {
public static void main(String[] args) {
// TODO 自动生成的方法存根
byte a = 126;
byte b = 5;
byte c = (byte) 131 ;
byte d =(byte) ((byte)a+b);
//byte d =(byte)(a+b)错误的显式转换
System.out.println(c);
System.out.println(d);
}
}
问题:a+b的值为131 超出了byte的范围,现在用显式转换
byte d=(byta)131 或者
byte d =(byte) ((byte)a+b)
而 byte d =(byte)(a+b) 报错是为什么?
复习时候折腾下看看,如果显式转换的不是一个超出byte的具体数,而是一个两个数值的和(和超出byte的表达范围),该怎么写表达式byte d =(byte) ((byte)a+b)加粗部分的含义是什么?
于2017-05-19 14:07:25编辑