Java赋值的错误

下面代码报错:

    byte x;

    byte x1=1;
    byte x2=2;

    x=x1+x2;

 

原因:

  (1)直接常量与变量不同,直接常量以及由直接常量组成的表达式只要值的范围符合,就可以直接赋给变量。

       (2)但上述代码中x1和x2都是byte类型的变量,Java为了防止溢出,会自动把它们转为int类型运算,而int型赋给byte型可能会损失精度。

     不过如果x,x1和x2都为int型,那么java 不会报错。

posted @ 2018-01-01 14:14  小火火一号  阅读(408)  评论(0编辑  收藏  举报