Java编辑
运算符 结合性
[ ] . ( ) (方法调用) 从左向右
! ~ ++ – +(一元运算) -(一元运算) 从右向左
- / % 从左向右
-
- 从左向右
<< >> >>> 从左向右
< <= > >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
=
从右向左
第一个特殊的例子:
public class stlye
{
public static void main(String[] args)
{
int a=10,b=6;
System.out.println(“改变之前的数:a=”+a+",b="+b);
a-=b++;
System.out.println(“改变之后的数:a=”+a+",b="+b);
}
}
运算结果为:
改变之前的数:a=10,b=6
改变之后的数:a=4,b=7
因为b++运算中先执行++,再返回后置++运算表达式(b++)的返回值(6)给-=运算符。
在这个程序中a-=b++等于a=a-b++=10-6,所以a=4。
第二个例子
int a=4;
int b=(a++)+(++a)+(a*10);
System.out.println(“a=”+a);
System.out.println(“b=”+b);
a=6,b=70
运算时,需要小心,+=与-=有相同的道理
特别注意:
- 从左向右