java中的i++和++i

i++和++i的区别

1、i++和++i各自的含义

i++:代表程序执行完以后在进行赋值操作
++i:代表先进行赋值然后在进行程序操作
比如下面最简单的例子:

int x=3;
int y=5;
int a1=x++;//a1会等于3
int a2=++y;//a2=6

2、到底该如何理解标题1中所说的这两个运算的含义

为什么会问这个问题,因为我发现很多身边的同事遇到这样的问题,如果问题相对简单(比如上面的例子),都不会迷糊。但是问题是,对于复杂的类似问题,有些时候也是不知如何计算。
下面通过一个例子来说明这两个运算的含义到底是如何理解:

int i=1;
int j=i+++i++;//j=?
/*
分析:前提我们知道i++:代表程序执行完以后在进行赋值操作
1、我们把表达式用括号改写为int j=(i++)+(i++);
2、程序走到第一个i++时:
	2.1:先进行程序操作,1+(后面的表达式)
	2.2:然后进行赋值操作,i=i+1;此时i=2.
   所以执行完第一个i++以后,表达式变为3中所示
3、在执行完第一个i++以后表达式可以写为:
	int j=1+(i++);此时i=2;
4、继续执行第二个i++操作,和第一个i++执行一样先程序操作然后赋值
5、int j=1+2;此时i=3;
6、所以最终结果为j=3;i=3
*/

3、联系题练习

int x=1;
int y=2;
int z=3;
y+=z--/++x;

答案为:3;
想知道原因吗,自己动手先一个测试类,然后运行。
提示:在理解这两个运算表达式以后,别忘记在java中“/”表示取商。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值