自增自减这个题能不能详细解答下,谢谢大侠

来源:3-8 Java中运算符的优先级

慕码人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

写回答 关注

2回答

  • qq_Ravenclaw_0
    2018-07-27 13:38:51
    已采纳

    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

    慕码人349...

    非常感谢!

    2018-07-27 15:06:07

    共 1 条回复 >

  • 5音6律
    2018-07-27 13:51:51

    自增和自减其实对于被自增自减的变量本身是没难度的,变量每自增一次就+1,每自减1次就-1。

    主要区别就在于如果自增或自减完成后要给其他变量使用或者要进行其他运算的时候。这个时候,++变量和变量++返回的结果就不一样了,不过只要记得++变量返回的是(变量+1)的结果,而变量++返回的是变量本身,记得这个规律就不会弄错了。自减和自加规则相同。

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1167342 学习 · 18628 问题

查看课程

相似问题