运算符的结合性:
运算符的结合性指同一优先级的运算符在表达式中操作的组织方向, 即: 当一个运算对象两侧运算符的优先级别相同时, 运算对象与运算符的结合顺序。java 语言规定了各种运算符的结合方向( 结合性) 。大多数运算符结合方向是“自左至右”, 即: 先左后右, 例如a- b+c, b 两侧有- 和+两种运算符的优先级相同, 按先左后右结合方向, b 先与减号结合, 执行a- b 的运算, 再执行加c 的运算。除了自左至右的结合性外, java 语言有三类运算符参与运算的结合方向是从右至左。即: 单目运算符(+,-,++,--), 条件运算符(三目运算符), 以及赋值运算符(java中也一样)。
举例:
一:
class Main {
public static void main(String[] args) {
int ans = 0;
int a = 1;
ans += a++;
System.out.println("ans = "+ans);
System.out.println("a = "+ a);
}
}
二:
class Main {
public static void main(String[] args) {
int ans = 0;
int a = 1;
// ans += a++;
ans += ++a;
System.out.println("ans = "+ans);
System.out.println("a = "+ a);
}
}