伪墨
2017-10-30 12:50
采纳率: 61.8%
浏览 2.1k
已采纳

Java中关于 a += ++a 的值

    int a = 2;
    System.out.println(a += ++a );
    System.out.println(a);

为什么输出的结果都是5?
我的理解是先运算++a,a的值也编成3了,然后a+=a,不就是6了?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • threenewbee 2017-10-31 01:15
    已采纳

    a=2
    a+= ++a
    所以a+=3,但是这里的a是a=2的a,所以是5

    已采纳该答案
    打赏 评论
  • My_Idiot 2017-10-31 01:11

    建议题主看看a++和++a的区别,嘿嘿

    打赏 评论
  • pangpangdexiaojiuwo 2017-10-31 01:25

    int a=2;
    a=++a;
    a+=a;
    System.out.println(a);-----a=6
    你想表达的是这种写法吧。。。。

    打赏 评论
  • luweidong2014 2017-10-31 01:46

    计算a++的时候,这一行代码中a的值不变,下一次使用时变化;计算++a的时候,a的值先变化原式可变为 a=a+(a+1);

    打赏 评论

相关推荐 更多相似问题