JAVA的运算符的优先级是什么样的?

Python028

JAVA的运算符的优先级是什么样的?,第1张

   所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。另外,Java 语言中运算符的优先级共分为 14 级,其中 1 级最高,14 级最低。在同一个表达式中运算符优先级高的先执行。如下是优先级和结合性。

结合性是指如果遇到同一优先级的运算符,程序的执行顺序。比如!和++同时存在,它会先加,然后再去比较是否相等。

如果("a=b++" == "a=(b++)")为true,那么Java或者C/C++的开创者们就没必要区分++i 和 i++有什么异同了,因为按照楼主的思维,他们结果一样。

Java中的自增(减)运算符和C/C++运算符的意义是一样的。以++为例:b=a++则表示先将a本来的值先赋值给b,而后自增1,这个楼主肯定比我都清楚。如果偏要去追究运算符的优先级,你得去问Java或者C/C++那些开创者了,为什么这样了。显然,不能太教条。