首页 文章

Java变量转换[重复]

提问于
浏览
0

这个问题在这里已有答案:

我有关于在java中转换变量的问题 . 我有以下代码

byte b1 = 6;
    byte b2 = 5;
    byte bsum;
    bsum = (b1 + b2); // (1)

代码需要做什么才能工作:

byte b1 = 6;
   byte b2 = 5;
   byte bsum;
   bsum = (byte)(b1 + b2); // (2)

为什么在(1)情况下eclipse说不能从int转换为byte?当字节变量最多需要127时,为什么b1 b2会转到int?我很迷惑..

谢谢你的时间!

1 回答

  • 2

    通过specification + 运算符返回 int ,这就是你需要进行强制转换的原因 .

    (1)表示 b1 + b2 不能分配给 byte ,因为 int 的范围比 byte 的范围宽 .

相关问题