当我尝试执行此代码时,以下代码的输出被声明为“6”。
当我试图思考这个问题时,表达式“k += 3 + ++k; 应该被评估为 k = k + (3 + ++k); 但在这种情况下,输出应该是 7。看起来就像它被评估为 k = k + 3 + ++k; 结果为 6。
有人可以解释一下为什么表达式被评估为 "k + 3 + ++k" 而不是 "k + (3 + ++k); 吗?
public class TestClass {
public static int m1(int i){
return ++i;
}
public static void main(String[] args) {
int k = m1(args.length);
k += 3 + ++k;
System.out.println(k);
}
}