慕码人3493114
2018-07-27 12:46
int a = 4;
int b = ++a;
int c = b++ + --a - --b + ++b;
int d = b++ + --a - b-- + ++b;
结果
a=3,b=7,c=10,d=9
a一开始4
第二步:
此时b=a =4+1=5(a直接自增+1)
第三步:
c=5 (b++表示下次使用时+1,此时仍为5)+ 4(a直接自减1,a=5-1) -5(首先b要完成前面的自增+1然后直接-1,b=5+1-1)+ 6(b直接自增+1,b=5+1)
c= 5+4-5 +6=10
第四步:
d=6(b++表示下次使用时+1,此时仍为6) + 3 (a直接自减1,a=4-1)- 7(首先b要完成前面的自增+1然后下次使用时-1,b=6+1)+ 7(首先b要完成上次的自减 -1然后直接自增+1,b=7-1+1)
b=7
d=6+3-7+7=9
自增和自减其实对于被自增自减的变量本身是没难度的,变量每自增一次就+1,每自减1次就-1。
主要区别就在于如果自增或自减完成后要给其他变量使用或者要进行其他运算的时候。这个时候,++变量和变量++返回的结果就不一样了,不过只要记得++变量返回的是(变量+1)的结果,而变量++返回的是变量本身,记得这个规律就不会弄错了。自减和自加规则相同。
Java入门第一季(IDEA工具)升级版
1167342 学习 · 18628 问题
相似问题