本帖最后由 Myjava_peng 于 2013-01-11 18:54:40 编辑

解决方案 »

  1.   

    不是这个问题,
    java里两个整数做运算,比如这里的做加运算
    java会默认把他们转成int类型,计算完成后,赋值个byte类型的话
    由于是大类型往小类型转,所以必须强制转换,因为java是严格类型检查的语言
      

  2.   

    2楼正解。java的底层运算会将整形默认是int进行运算
      

  3.   

    byte类型的做运算,自动上升到int类型的空间做运算,所以运算结果必须是int型的,否则编译器会报错,如果你非要写byte就要强转,不过要注意 byte运算后最好不要超过byte的范围
      

  4.   


    是不是就是说JAVA里所有整数运算都是默认int类型,运算结束后的结果是int类型的,而我们却把结果赋值给了byte,byte胃口又太小吞不下,所有就吐出来了是么???
    换成长整型就可以了,我这样理解对么?class Da
    {
    public static void main(String[] args) 
    {
    long b=3;
    int b1=3;
    int b2=7;
    b = b1 + b2;
    System.out.println("b="+b);
    }
    }