Java简单问题求助:Byte类型相加
publicclassByteAdd{publicstaticvoidmain(String[]args){byteb=0;bytec=50;byted=b+c;Syst...
public class ByteAdd
{
public static void main(String[] args)
{
byte b = 0;
byte c=50;
byte d=b+c;
System.out.print(d);
}
}
请问高手,上面的byte类型相加为什么总是运行出错?求解释! 展开
{
public static void main(String[] args)
{
byte b = 0;
byte c=50;
byte d=b+c;
System.out.print(d);
}
}
请问高手,上面的byte类型相加为什么总是运行出错?求解释! 展开
5个回答
展开全部
byte d=b+c;
把这里的byte 改成int,因为byte类型运算的时候自动转换为int类型,还有boolean,char也是这样。
把这里的byte 改成int,因为byte类型运算的时候自动转换为int类型,还有boolean,char也是这样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为byte类型运算的时候自动转换为int类型,d是int类型的`````byte类型的优先级小于int类型的优先级```所以要强制转换byte d=(byte)(b+c)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
byte a = 0 ;
byte b = 50 ;
byte c = (byte)(a + b);
System.out.println(c);
}
因为他输出的是int 所以要转成byte
byte a = 0 ;
byte b = 50 ;
byte c = (byte)(a + b);
System.out.println(c);
}
因为他输出的是int 所以要转成byte
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b+c的值超出byte类型的范围
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询