在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。
相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:
运算符优先级决定了表达式中运算执行的先后顺序,通常优先级由高到底的顺序依次是:增量和减量运算→算术运算符→比较运算→逻辑运算→赋值运算。Java中常用的运算符的优先级如下图所示:
级别为1的优先级最高,级别11的优先级最低。比如,x = 7 + 3 * 2 得到的结果是13“先乘后加”。
当两个运算符拥有同样优先级时跟代数的四则运算一样,从左到右依次执行表达式。当要表示一个比较复杂的运算表达式时,最好多使用小括号,可以使用表达式更加清晰,对于一些比较复杂的,尽量可以分开多个步骤,这样虽然可能会降低效率,但是可以提高代码的可读性。比如下面这个例子:
int i=1,j=2;
int a=i+++j+++i++;
System.out.println(a);
看着就让人头晕了,我们可以修改以下这样。
int a=(i++)+(j++)+(i++);
综上所述,Java运算符的优先级也就一目了然了,特别是Java运算符的优先级表,能够很大程度上帮助我们做好Java运算符的优先级排序,当然,在Java中也会出现很多的Java运算符混淆在一起的复杂情况,我们还是需要掌握一定的规则之后,随机应变,这也是动力节点在线的视频课程中教导大家的。
提枪策马乘胜追击04-21 20:01
代码小兵92504-17 16:07
代码小兵98804-25 13:57
杨晶珍05-11 14:54