是的。在JLS中,第15.7节:
Java编程语言保证运算符的操作数似乎按特定的评估顺序(即从左到右)进行评估。
建议代码不要严格依赖此规范。当每个表达式最多包含一个副作用(作为其最外层的操作),并且当代码不完全依赖哪个表达式作为从左到右求值的结果时,代码通常会更清晰。
…
在评估右侧操作数的任何部分之前,似乎已对二进制运算符的左侧操作数进行了完全评估。
并且:
Java编程语言还保证在执行操作本身的任何部分之前,对运算符的每个操作数(条件运算符&&,||和?:除外)都应进行完全评估。

是的。在JLS中,第15.7节:
Java编程语言保证运算符的操作数似乎按特定的评估顺序(即从左到右)进行评估。
建议代码不要严格依赖此规范。当每个表达式最多包含一个副作用(作为其最外层的操作),并且当代码不完全依赖哪个表达式作为从左到右求值的结果时,代码通常会更清晰。
…
在评估右侧操作数的任何部分之前,似乎已对二进制运算符的左侧操作数进行了完全评估。
并且:
Java编程语言还保证在执行操作本身的任何部分之前,对运算符的每个操作数(条件运算符&&,||和?:除外)都应进行完全评估。