java - 赋值运算符链理解

标签 java

谁能解释一下下面代码的输出

int a=10;
a = a -= a+= a -= a += a;

output : 10 

我不明白它是如何给出 10 的?

最佳答案

a += a 表示 a = a + a

同样,a -= a 表示 a = a - a

我不确定哪种方式适合开始,但是如果我使用上面的方法从右侧转换给定的代码,

   a += a                     >     a = a + a;
   a -= a += a                >     a = a - (a + a);
   a+= a -= a += a            >     a = a + (a - (a + a ));
   a -= a+= a -= a += a       >     a = a - (a + (a - (a + a)));
   a = a -= a+= a -= a += a   >     a = a - a - a + a + a;

其中 -a -a + a + a 相互抵消,得到 a = a,即 10

关于java - 赋值运算符链理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673012/

相关文章:

java - I/O函数式编程、java编程

Java - 对象中的ArrayList

java - 验证项目 - 程序不接受用户的第一个输入

Java 基本 GUI 程序收到此错误 "AWT-EventQueue-0"java.lang.NullPointerException”

java - 由于权限被拒绝,在hadoop.tmp.dir/tmp/hadoop-sha中创建临时目录时出错

java - eclipse 中的文件输出流。相对路径

java - 有关解释死锁的 oracle.com 并发代码的问题

java - 字节/短 Vs int 作为循环计数器变量

java - 创建类的新对象后获取 NPE

java - 计算平方根的二进制搜索 (Java)