byte a=101;byte b=100;为什么 int c=a+b 输出结果等于202呢?请教高手们解惑,万分感谢!!!

解决方案 »

  1.   

    public class A {
    public static void main(String[] argv){

    byte a = 101;
    byte b = 100;
    int c = a + b;
    System.out.println(c);
    }
    }
    为什么测试输出是201呢
      

  2.   

    public class Casting{ public static void main(String args[]) {  int i;  byte b;  i=356;
     
      b=(byte)i;  System.out.println("i="+i);    System.out.println("b="+b);  byte b2=++b;  System.out.println("b2="+b2);   int b3=b+b2;  System.out.println("b3="+b3);
     
     }}
    大家运行下啊 ,我的输出结果是202啊。我知道结果是201,但是总觉得电脑不会出错吧。
      

  3.   

    明白了,这一句byte b2=++b;b的值也加一了。
      

  4.   

    byte b2=++b;
    ++操作后b的值为101,将101赋值给b2,b2=101
    b3当然等于202了。
      

  5.   

    public static void main(String args[]) {   int i;   byte b;   i=356;   b=(byte)i;   System.out.println("i="+i);    System.out.println("b="+b);   byte b2=++b;   //这里b自加1,100+1=101
     
      System.out.println("b="+b);  //加上的输出语句
      System.out.println("b2="+b2);   int b3=b+b2;   System.out.println("b3="+b3); }