由优先级表格可以知道
++ -- 优先级 比=高
可是 如果这样算 a=++b与a=b++没有区别
但是 实际上两个值不相同
这位兄弟提的问题不是运算符优先级别的问题,而且表达式书写不同而得到不同结果的问题,java中就是规定 a++与++a的结果是不一样的,其实其他语言也是这么规定的。 ++a 或者 a++ 都是一个完整的表达式,不能被拆分的。
你问题中 第二个表达式 a = b++; 并不是因为优先级 b先自加 然后再将结果给a ,而是只要b++这么写了,就一定会执行 b=b+1,然后整个b++的结果为b给a进行赋值。
第一个表达式 a= ++b;其实也是执行了2步,先b = b+1,然后整个++b的结果为b+1给a进行赋值。