美文网首页Android开发之JAVA篇
第二章 java基础(优先级和结合性一)

第二章 java基础(优先级和结合性一)

作者: 不用管我是谁 | 来源:发表于2017-05-02 22:51 被阅读0次

—— 本文参照 Learn Java for Android Development (第三版)

一元操作符
一元操作符包括一元加(+)和一元减(-),他们是最简单的操作符。一元减返回的是操作数的负数,例如-5的结果就是-5,--5的结果就是5。一元加的结果其实就是它本身,因为在平时的运算过程中我们都会省略一元加的符号。例如+5的结果就是5,+-5的结果是-5。虽然一元加平时经常被省略,但是它是真实存在的操作符,所以还是需要提一下的。

优先级和结合性
当我们计算一个表达式的时,java会优先考虑操作符的优先级,不然的话计算的结果可能就不是我们预期的结果了。比如这个表达式:60 + 3 * 6,其实我的预期的是先做乘法运算再做加法运算,这样表达式的结果就是78(实际上乘法的优先级也确实是高于加法的优先级的)。如果java没有考虑操作符的优先级的话运算的结果就是378了,这肯定是不行的吧。

在开发的过程中我们可以使用小括号来提高运算的优先级从而改变表达式的运算顺序。通常最内层的小括号的优先级是最高的。例如:2 * ((60 + 3) * 6)这个表达式里面最开始计算的应该是(60+3),然后是(60 + 3) * 6,最后才是剩下的表达式。再比如60 / (3 - 6),最先计算的是(3-6)然后才是除法运算。

如果在运算过程中操作符的优先级是一样的情况下,那么就需要考虑操作符的结合性了。例如表达式:9 * 4 / 3,这里乘法和除法的优先级是一样的,但是乘法和除法的结合性是从左往右,所以在这个表达式里面我们先做乘法再做除法。

再看另外一种例子:x = y = z = 100,这个表达式跟上面的就有点区别了,因为=运算符的结合性跟乘法和除法的结合性是相反的,它是从右往左的,所以需要先把100赋值给z,然后再赋值给y,最后赋值给x。

大部分的操作符的结合性都是从左往右的,其中结合性属于从右往左的有:
+, -, ++, --,~, !, =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=。

Page 68

相关文章

  • 第二章 java基础(优先级和结合性一)

    —— 本文参照 Learn Java for Android Development (第三版) 一元操作符一元操...

  • 我的C生活15(优先级和结合性)

    ⒈结合性和优先级同时存在时,先计算优先 级,优先级相同时再从左向右地按照结合 性计算。

  • Kotlin从0到1——运算符

     运算符的作用是操纵对象和数据,它以一个或多个变量为基础,生成新的值。 运算符具有优先级和结合性。优先级决定一个表...

  • 运算符优先级和结合性

    运算符优先级和结合性 运算符的优先级使得一些运算符优于其他运算符,高优先级的运算符会被先计算。 结合性定义了具有相...

  • 03-JS基础-运算符

    运算符的优先级 运算符的结合性JavaScript中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自...

  • Java运算符优先级和结合性

    问题如下代码运行结果是啥? 运算符优先级 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级...

  • Cpp:优先级和结合性

    本次内容是:复合表达式的求值。尤其是 优先级 和 结合性 部分可以作为字典查看。 1、优先级 在表达式求解过程中,...

  • js运算符优先级

    优先级 运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行 结合性 结合性决定了拥有相同优...

  • C语言运算符

    运算符的优先级和结合性 运算符的种类 算数运算符有+ - * / % (具有左结合性) 算数运算符注意事项...

  • 04-运算符

    算数运算符 1.什么是算数运算符?- + - * / % 2.算数运算符的优先级和结合性* / % 优先级要高...

网友评论

    本文标题:第二章 java基础(优先级和结合性一)

    本文链接:https://www.haomeiwen.com/subject/mtdczttx.html