Vik*_*shi 1 java variable-assignment
为什么这个程序的输出是10,为什么不是11?
public class Test {
public static void main(String[] args){
int p = 10;
p = p++;
System.out.println(p);
}
}
Run Code Online (Sandbox Code Playgroud)
尽管在完成赋值之前后缀++更改p,但表达式的值仍然是原始值p,即10.这是分配给的p.
这是正在发生的事情:
p 被安排了 10p在增量之前保存了值p递增,新值11存储在p10存储回来p.