1.2.3 Java自增自减运算符分析

自增运算符:++

自减运算符:--

自增,自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。

操作元必须是一个整型或符点型变量(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=临时的b3.b=临时的b

最终结果为b=10

b=++b:

分解指令对应执行
1.b+11.b+1 此时b为11
2.获取b的值,记作“临时的b”

2.临时的b=11​​

3.b=临时的b3.b=临时的b

最终结果为b=11

最后放一个栈空间图:

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值