1. a++
举例:
class demo1
{
public static void main(String[] args)
{
int a=3;
System.out.println(a++);
System.out.println(a);
a=a++;
System.out.println(a);
}
}
步骤1:当a在执行后++的时候系统会配一个临时空间
步骤2:之后将a中所储存的数字复制一份给这个临时储存空间
步骤3:执行a+1
最终:储存区的值等待被调用(参与运算,输出,赋值)
因此输出a++就是直接输出临时储存空间里面的值即 3 , 输出a的值就是 4。
重复步骤1:在执行完前两个输出之后临时空间被收回,再执行a=a++时又重新分配了空间。
重复步骤2:将a中的值重新赋给了临时储存空间
重复步骤3:执行a+1
重复步骤4:将临时变量里面的值重新赋给a
经过a+1之后a中本来的值是5,但是执行a=a++,将临时变量中的值又重新的赋给了a,所以a依然是4。
运行结果:
2.++a
例子:
class demo2
{
public static void main(String[] args)
{
int a=3;
System.out.println(++a);
System.out.println(a);
a=++a;
System.out.println(a);
}
}
在执行++a是不用分配临时储存空间,直接给+1即可。
结果: