java运算符有关问题

   阅读
java运算符问题
int x = 0;
int y = 0;
输出1:y = x++;
输出2:y = x++ + ++x;

问题:这算是运算符优先级的问题?
输出1:在没有+的时候,执行完=赋值之后再执行++
输出2:++ 比 +的优先级高,所以再遇到+的时候执行完x++再执行后边的++x?猜测
------解决思路----------------------
x++是先使用x的值然后x再加1,++x是先加1再使用,所以y=x++时y首先被赋值为0了;而++的优先级比+要高,所以第二个输出中执行完++的操作再执行+的操作
------解决思路----------------------
y=x++ 会将x++之前x的值,赋值给y,这就好比system.out.print(x++) 打印的是x的值,
y=x++ + ++x 因为后面存在运算符+号,所以y会等到(x++ + ++x)执行完毕后再赋值。

注:y=x++ 和 y=++x的值之所以不同,这是java的一种计算方式,死的规定,如果想立即得到X++或++X运算之后的值,就用++X,如果想立即得到X++或++X运算之前的值用X++;
不管是x++或者++x代码结束后,再换行获取X的值时,X都已经加1;
阅读