自增运算符:++
自减运算符:--
自增,自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。
操作元必须是一个整型或符点型变量(char类型自动转为int)。作用是使变量的值增1或减1。
++x; --x; 表示在使用x之前,先使x的值加(减)1。
x++; x--; 表示在使用x之后,先使x的值加(减)1。
例如:
如果x的原值是5,则:
(1)对于 y=++x ; x的值变为6,然后y的值为6
(2)对于 y=x++ ; y的值为5,然后x的值变为6
代码示例:
public class Demo {
public static void main(String[] args) {
int a = 10, b = 10;
a++;
System.out.println(a);
a--;
System.out.println(a);
b = b++;
System.out.println(b);
b = ++b;
System.out.println(b);
}
}
运行结果:
11
10
10
11
运行后发现第一次得到的b的结果没有改变。而第二次结果成功的加一
我们来剖析以下b=b++;b++运算会得到临时结果11;然后执行了b=b
b=b++:
分解指令 | 对应执行 |
1.获取b的值,记作“临时的b” | 1.临时的b=10 |
2.b+1 | 2.b+1 此时b为11 |
3.b=临时的b | 3.b=临时的b |
最终结果为b=10
b=++b:
分解指令 | 对应执行 |
1.b+1 | 1.b+1 此时b为11 |
2.获取b的值,记作“临时的b” | 2.临时的b=11 |
3.b=临时的b | 3.b=临时的b |
最终结果为b=11
最后放一个栈空间图: