java为什么增量后操作符在此代码中无法增量“a”?
package com;
public class Test {
public static void main(String[] args)
{
int a= 11, b = 10;
a = a++ + ++b; //why? output is "22 11" and not "23 11"
System.out.println(a+" "+b);
}
}
# 1 楼答案
下面是表达式的求值方式(大致上,我没有检查JLS的求值顺序,但我认为它是从左到右的):
因此,这是预期的结果,你只需要应用这些操作符的定义
# 2 楼答案
a++意味着“a”在你写它的地方有旧的值,然后再修改++a表示“a”首先改变值,然后计算
我希望你能理解我)我的英语水平与你的Java=)