今天在复习基础查缺补漏到了赋值运算这里,哈哈哈,嘲笑一下自己.因为有些平时用的也不多,所以打算写两行代码跑一下,但是
int a = 10;
int b = 20;
System.out.println("a+=b: "+(a+=b));
System.out.println("a-=b: "+(a-=b));
System.out.println("a*=b: "+(a*=b));
System.out.println("a/=b: "+(a /= b) + " a:"+a+" b:"+b);
System.out.println("a/=20: "+(a /= 20));
System.out.println("a%=b: "+(a %= b));
System.out.println("a%=20: "+(a %= 20));
下图为运行结果:
咦,好像哪里不对啊. a/=b的结果为什么是10 而 a/=20的值却正常呢.为什么呢?
a+=b = a=a+b等式两侧是相等的,也就是说每进行一次运算a的值都在改变.
还傻愣愣的专门输出了一下a和b的值跟初始值一样,觉得没问题
当然一样啦,先加后减,先乘再除可不就一样,不一样还奇了怪了.