关于a++和++a的探讨
无疑,++、–所表示的是自增和自减,那么如标题所示,为什么还有写法的不同。关键在于编译器的运行顺序。
public class Demo01 {
public static void main(String[] args) {
int a = 3;
int b = a++; //先进行赋值,在自增,所以先把a=3给b,a=a+1
int c = ++a; //a先进行自增4+1=5,再赋值给c,所以此时a=5,c=5
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
a++
在上图所示的代码当中
int b = a++;
我们可以按照等号后的内容来看顺序,等号后为字母a,则说明IDE在运行是先进行赋值,然后执行后面的++自增,即,此时b=3,a=4.
++a
在代码当中
int c = ++a;
此时,等号后为自增,则说明先进行自增,再赋值给c,即此时a=4+1=5,c=5