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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/13 14:20:57
在java里intk=0;intj=++k+--k+k+++k+++++k+k+++k;的运算结果是12怎么算的我算出来是14我是才入门java的新手在java里intk=0;intj=++k+--k

在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