当我们在java编译器中 byte a=1
a+=1;//运行正常。因为在该算式中,运算符使用的是复合赋值运算符,而复合赋值运算符在操作时,系统会将右边的数转化为左边a的类型,使其正常运行。
a=a+1;//运行报错。在这个运算中使用的是简单赋值运算符,系统会将右边的数默认为int类型,而左边为byte类型保持不变,所以会运行报错。
当我们在java编译器中 byte a=1
a+=1;//运行正常。因为在该算式中,运算符使用的是复合赋值运算符,而复合赋值运算符在操作时,系统会将右边的数转化为左边a的类型,使其正常运行。
a=a+1;//运行报错。在这个运算中使用的是简单赋值运算符,系统会将右边的数默认为int类型,而左边为byte类型保持不变,所以会运行报错。