java中+=与+的区别

public class QQ {

    public static void main(String[] args) throws ParseException {
        byte val1 = 5;
        double val2 = 125d;
        val1 = (byte) (val1 + val2);
        System.out.println(val1);

        val1 = 5;
        val2 = 125d;
        /*
         * java中+=的真正意义包含两个部分,一是“+”,就是通常所说的直接相加,二是改变结果的类型:将计算结果的类型转换为“+=”
         * 符号左边的对象的类型。
         */
        val1 += val2;
        System.out.println(val1);
    }
}

# 上面代码的运行结果为:

-126
-126

# 注意点:

1.  + 需要强转, += 自动转换

2. 从结果可以看出,自动转换可能会造成一些意外

原文地址:https://www.cnblogs.com/lwmp/p/10650814.html