java - 请评估以下语句(与后增量和前增量相关)

标签 java

当我执行代码时,它给出了 13 作为答案。请解释计算机是如何得出答案的。我想知道前增量和后增量的优先级。

class demo
{
public static void main(String [] arg)
     {
      int i=2;
      System.out.println(i++ + i + ++i + i++);
     }
}

最佳答案

我不认为运算符优先级在这里真的是个问题;似乎有一个明确的操作顺序。从左向右移动:

(i++) + i + (++i) + (i++)

  2   + 3 +   4   +   4   = 13

++i 表示 i 在读取其值之前递增
i++ 表示先读i再自增。

注意:自增运算符的优先级高于加法运算符。 (根据评论)这是一个很好的reference .

关于java - 请评估以下语句(与后增量和前增量相关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23894472/

相关文章:

java - 如何在我的数据库中插入复合组件(菜单菜单)

java - 绘制和缩放图像的好习惯?

java - PDF框。 Java : How to print only one page of PDF instead of full document?

java - 一些SerialCG日志的含义

java - 重写 hashcode() 方法后出现奇怪的结果

java - 如何在android中获取时区偏移量?

java - 计算 List<Integer> 中出现的次数

java - 我们可以使用 Linq 从 java 中的集合对象中获取值吗?

java - 从另一个类访问一个类中的列表的最佳方法

java - 在 java 类上生成 C++ 包装器的工具