【发布时间】:2011-07-21 18:38:23
【问题描述】:
从下面的程序或here,为什么最后一次调用System.out.println(i) 打印值7?
class PrePostDemo {
public static void main(String[] args){
int i = 3;
i++;
System.out.println(i); // "4"
++i;
System.out.println(i); // "5"
System.out.println(++i); // "6"
System.out.println(i++); // "6"
System.out.println(i); // "7"
}
}
【问题讨论】:
-
我相信我有点理解你的误解来自哪里。您认为只有在单独声明时才会将新值分配给
i?将参数传递给函数时,语句(在本例中为 post 和 prefix)在传递它们之前被执行。添加后缀和前缀之间的行为差异,如下面的答案中所述,您就会明白为什么会得到该输出。
标签: java post-increment pre-increment