如何在 Java 中分解多赋值同一行?

  • 本文关键字:一行 赋值 Java 分解 java
  • 更新时间 :
  • 英文 :


我一直在网上搜索,但我什么也没找到。 我应该如何阅读本文?

e = d = b - a

我应该从右到左还是从左到右阅读? 我觉得应该是从右到左?

等效代码为

d=b-a
e=d
??

非常感谢!!

我认为应该是从右到左的?-> 是的。

Java 语言规范

如果您想了解更多信息;请阅读有关表达式的 Java 语言规范。Java 语言规范是一个很好的文档,可以了解更多关于 Java 的工作原理!

例如:

第15章 表达方式

程序中的大部分工作都是通过计算表达式来完成的, 要么是它们的副作用,例如变量赋值,要么 对于它们的值,可以用作参数或操作数 表达式,或影响语句中的执行顺序,或 双。

本章规定了表达式的含义和 他们的评价。

https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html

评估顺序

https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.7 .

分配

(没有你想象的那么简单)

https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.26

具体说来:

15.26. 赋值运算符

有 12 个赋值运算符;所有赋值运算符都是语法上的 右关联(它们从右到左分组)。因此,a=b=c意味着a=(b=c),它将c的值分配给b,然后将值分配给ba.