(数据类型)byte b1=3,b2=4,b; b=b1+b2; b=3+4; 哪句是编译失败的呢 ? 面试题

JAVA基础复习:第二句出错b=b1+b2; b是byte数据类型,3和4是int数据类型,

         byte 3   占一个字节:0000 0011

byte 4   占一个字节: 0000 0100

        int 3     占四个字节:0000 0000  0000 0000 0000 0000 0000 0011

int 4     占四个字节:0000 0000 0000 0000 0000 0000 0000 0100

     int类型数据相加得到的数据是4个字节,而byte数据相加只有一个字节,把一个int数据赋值给byte数据就会出现数据越界的错误。


谢谢sh21_

    却是是第二句出错,前段时间刚好也有同事给我指出的我的错误,只是当是没想到我还写了博客的,真是有点惭愧!

   第二局:b=b1+b2;编译出错。错误提示为“不能从int类型转换为byte类型”

   而第三句:b=3+4;没有错误。byte类型转换为int类型属于自动数据类型转换。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章