说明:
i++:先赋值,在自增运算
++i:先自增运算,在赋值
备注:如果有看到提到i++ 不能作为左值,而 ++i 可以
的解释,请注意,这个在 java 编译器眼里是错的,在 java 编译器中,不管是 i++ 还是 ++i ,都只能作为右值,不能作为左值
- i++
public static void main(String[] args) {
int result = 0;
int i = 0;
System.out.println("result=" + result + ",i=" + i);
result = i++;
System.out.println("result=" + result + ",i=" + i);
}
输出结果
result=0,i=0
result=0,i=1
结论:等同如下运行顺序
result = i;
i = i + 1;
- ++i
public static void main(String[] args) {
int result = 0;
int i = 0;
System.out.println("result=" + result + ",i=" + i);
result = ++i;
System.out.println("result=" + result + ",i=" + i);
}
输出结果
result=0,i=0
result=1,i=1
结论:等同如下运行顺序
i = i + 1;
result = i;