(x++)+(++x)的运算理解

第一次的分享,谈谈学习心得, (x++)+(++x)的运算理解

先提个小问题, int x = 4 ;

 int x = 4 ,y ;
 y = (x++) + (++x) ;

这里面,y的值等于多少?

运算中的 (x++) 和(++x)分别是数字几?

还有另一个问题

int a=2,b=3;
a&b*2^4>>a++

这两个问题就需要我们理解和记住

  1. java语言运算符的优先级

  2. 真正的搞清楚 ++ , --,单独使用和参与运算的使用.

情况1:
			单独使用:无论操作符++或者--在数据的前面还是数据的后面,都是对当前数据本身的值进行
			自增1或者自减1;
			
		情况2:
	参与运算使用:
		1)如果++或者--在数据的前面,是先对当前数据值进行自增1或者自减1,然后参与运算
		2)如果++或者--在数据的后面,先运算,然后在对该数据值本身进行自增1或者自减1

第一个问题中 y =10

其中 (x++)=4 (++x)=6.

有同学可能就会以为 // y = 5 + 6 = 11 或者是 y = 4 + 5 = 9

开始我也想着,虽然(a++)要参与运算才能自加,这不是带了括号了吗.应该出了括号就自加.

或者是运算结束 两 x 相加后 (x++) 才会自加 .

正确答案是 y = 4 + 6 = 10

形象的理解一下,(x++) 用4 参与了加法运算但是还没有和后面的(++x)相加,这个时候(x++)就已经自加了变成了5,

然后后面还有(++x) 使得x变成了6 所以是 y = 4 + 6 = 10.

同理,第二题的答案是3,可以自己想一想过程.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值