问答详情
源自:3-2 Java中的算术运算符

为什么输出的a的值为6?不应该是5

int a = 5;
int b =a++;
System.out.print(a);


提问者:qq_可凡_oFHP05 2018-10-06 16:09

个回答

  • JAVA小猪皮
    2018-10-29 10:33:27

    分为前导和后导,a++后导,相当于先执行程序语句,执行完后执行a的自加,

    而前导++a,就是先自加,再执行程序语句

  • 慕粉1751577510
    2018-10-06 17:15:20

    因为a的值改变了,在执行到a++这里时,a的值发生了变化,如下:

    程序执行到“int b = a++;“这条语句时,执行了两步操作

    1. 将a的值赋值给b,即b=5;

    2. a的值进行一次自增,即a=a+1=5+1=6;

    注:当++在变量名之后时,即先把a的值赋值给变量b,a自身的值再加1

    这时再打印a,a的值就为6了