Java自增变量;i++和++i的区别

简单来说
x = i ++; //先让x变成i的值1,再让i加1
x = ++i; //先让i加1, 再让x变成i的值1

案例解析

        int i =1;
        int x=i++;
        System.out.println("i="+i);
        System.out.println("x="+x);

结果

i=2
x=1

        int i =1;
        int x=++i;
        System.out.println("i="+i);
        System.out.println("x="+x);

结果

i=2
x=2

int i =1;
i=i++* ++i
System.out.println("i="+i);
首先拿到i=1
i= i + i++* ++i;按优先级进行运算,再从左到右运算
所以先算i++
因为是i++是赋值在运算,所以变成i= i +1* ++i;
再计算++i
因为先加后赋值(i++时i已经变成2)所以++i为3,i= i + 1* 3;

结果

i=3

		int i =1;
        i= i + i++* ++i;
        System.out.println("i="+i);
//        首先拿到i=1
//        i= i + i++* ++i;按优先级进行运算,再从左到右运算
//        所以先算i++
//        因为是i++是赋值在运算,所以变成i= i + (1)* ++i;
//        再计算++i
//        因为先加后赋值(i++时i已经变成2)所以++i为3,i= i + 1* 3;

结果

i=4

过程解析
首先拿到i=1
i= i + i++* ++i;按优先级进行运算,再从左到右运算
所以先算i++
因为是i++是赋值在运算,所以变成i= i + (1)* ++i;
再计算++i
因为先加后赋值(i++时i已经变成2)所以++i为3,i= i + 1* 3;
i= i+ 3;
i在一开始时为1,所以
i=1+3=4

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值