Java - 括号和赋值

标签 java grouping parentheses operator-precedence

编码:

int r=1;
System.out.println(r + (r=2));

输出是:3。但我期望是4,因为我认为括号内的代码是先执行的?

最佳答案

Official Docs on Operators says

All binary operators except for the assignment operators are evaluated from left to right; assignment operators are evaluated right to left.



所以+被评估 left-to-right , 其中赋值运算符被评估 right to left.

关于Java - 括号和赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17808093/

相关文章:

java - 如何更改此正则表达式以使其起作用

java - 在中央 Maven 元素中定义 webapp 样式

python - 每月基于列的大值的子集数据框

Mysql获取组的最后一个元素

C# Regex - 如何从字符串中删除多个成对的括号

function - Coffeescript:在parens之前用空格调用函数

java - 如何修复 'android.os.NetworkOnMainThreadException' ?

java - 如何对 hadoop 中的所有键/值对进行一般化简

python - 如何使用 pandas 创建像索引这样的分层目录?

visual-studio-2012 - 如何在 Visual Studio 2012 for C# 中启用括号补全?