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

—— 本文参照 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 表达式 表达式是由数字、运算符、数字分组符号(如括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合...
    劼哥stone阅读 591评论 0 4
  • 表达式和运算符 程序中最简单的表达式就是,程序中的常量 变量名也是一种简单的表达式 复杂的表达式是由简单的表达式组...
    zhaolion阅读 1,675评论 3 12
  • •1 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语...
    CONLYOUC阅读 8,751评论 9 66
  • 自上次去三皇子那又过去了几天,绿绮已经差不多摸清了这个公主原本的脾气,和关系好的人之间会丢掉礼仪,但如果在一般人...
    东兔角阅读 155评论 0 1
  • 魏京智7级练习曲不熟,山娃,b小调奏鸣曲学了一半,音阶学一半。 李泓霆考4级,现3级学到乐曲一半,练琴少,康定情歌...
    A0天翼音乐阅读 265评论 0 0