若定义int a=2,b=2,下列表达式中值不为4的是A)a*(++b) B)a*(b++) C)a+b D)a*b.求详解,

问题描述:

若定义int a=2,b=2,下列表达式中值不为4的是A)a*(++b) B)a*(b++) C)a+b D)a*b.求详解,
小弟初学java,能不能每个答案都给我说下,我算出来是6,6,4,4.结果c不对,

其实答案是a
结果是6 4 4 4
b中关键注意到
(b++)这个式子的值是2,而不是b
因为是先取b的值为整个式子的值,取到2,然后b自加
(++b)这个式子的含义是b先自加,然后取b作为整个式子的值