赋值运算符:
基本的赋值运算符:=
把=右边的数据赋值给左边。
扩展的赋值运算符:+=,-=,*=,/=,%=
+= 把左边和右边做加法,然后赋值给左边。
class OperatorDemo { public static void main(String[] args) { //定义一个变量 int x = 10; //其他用法 int a,b; a = b = 10; System.out.println(a); System.out.println(b); System.out.println("-----------"); //定义一个变量 int y = 10; y += 20; System.out.println(y); } }
题:
short s=1;s = s+1;
short s=1;s+=1;
//上面两个代码有没有问题,如果有,那里有问题。
// 为什么第二个木有问题呢?
//扩展的赋值运算符其实隐含了一个强制类型转换。
s += 1;
不是等价于 s = s + 1;
而是等价于 s = (s的数据类型)(s + 1);
class OperatorTest { public static void main(String[] args) { //short s = 1; //s = s + 1; //System.out.println(s); short s = 1; s += 1; //好像是 s = s + 1; System.out.println(s); } }