在java里int k = 0;int j = ++k + --k + k++ + k++ + ++k + k + ++k;的运算结果是12怎么算的我算出来是14我是才入门java的新手

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 07:17:33
在java里int k = 0;int j = ++k + --k + k++ + k++ + ++k + k + ++k;的运算结果是12怎么算的我算出来是14我是才入门java的新手
xRJ@YIKib!Iwf +]&o1+T \ml~&3IWdjEs9wCuLLX8#a H0PN,y̑4%σdvAzdz։]uގX*ڤ1^ xf|^SSu1 ǪlEVXGm7dh$Ƴ>^tߨZlgIM'r?$mc +wAu]ӻi4|Ǣ5 _DL+X`/kᶃspݧ +b6,N_H

在java里int k = 0;int j = ++k + --k + k++ + k++ + ++k + k + ++k;的运算结果是12怎么算的我算出来是14我是才入门java的新手
在java里int k = 0;int j = ++k + --k + k++ + k++ + ++k + k + ++k;的运算结果是12怎么算的我算出来是14
我是才入门java的新手

在java里int k = 0;int j = ++k + --k + k++ + k++ + ++k + k + ++k;的运算结果是12怎么算的我算出来是14我是才入门java的新手
int j = ++k + --k + k++ + k++ + ++k + k + ++k;
表达式从左向右执行;++k使k先自增再执行表达式,k++使表达式先执行再自增.

这样看:
 (++k)  //k=1 j=1
 + (--k) //k=0 j=1
+ (k++) //j=1 k + 1 k=1
+ (k++) //j=2 k + 1 k=2
+ (++k) //k=3 j=5
+ k //k=3 j=8
+ (++k); // k=4 j=12