x+=y与x=x+y的区别

来源:互联网 发布:mac隐藏文件夹软件 编辑:程序博客网 时间:2024/06/08 12:52

在一般情况下,x+=y与x=x+y的作用是等价的。


    但在有些情况下却并不是这样:
    如下代码:
    short s=3;
    s+=1;//编译通过
    s=s+1;//编译错误
   s=s+1编译错误时因为左边s+1的运算结果为int类型,而等号右边变量为short类型。类型不匹配而造成编译错误。
   s+=1编译正确是因为“+=”运算符在Java环境中会自动根据接收变量类型进行类型的强制转换。
   通过上述示例可以知道:x+=y等价于x=x+y和类型强制转换两个操作。
0 0