运算符Operators
现在你已经学习了如何声明和初始化变量,或许你想知道如何对他们做些什么。学习Java编程语言的运算符是一个开始的好地方。运算符是特殊的符号,用来对一个,两个,或者三个运算对象进行特殊的操作人后返回一个结果。
当我们探索Java编程语言的运算符时,提前制动哪一个运算符具有更高的优先级或许会有帮助。下面列表中的运算符时根据优先级的顺序列出的。靠近上面出现的运算符具有更高的优先级。优先级较高的运算符会在相对级别较低的运算符之前计算。出现在同一行的运算符优先级相等。当相同优先级的运算符出现在同一个表达式中,规则必须规定哪一个先进行计算。所有的二元运算符除了赋值运算符都是从左向右计算;赋值运算符从右向左计算。
Operators/运算符 | Precedence/优先级 |
---|---|
postfix 后缀运算符 | *expr*++ *expr*-- |
unary 一元运算符 | ++*expr* --*expr* +*expr* -*expr* ~ ! |
multiplicative 乘法运算 | * / % |
additive 加减运算 | + - |
shift 位移运算 | << >> >>> |
relational 关系运算 | < > <= >= instanceof |
equality 等式运算 | == != |
bitwise AND 位运算与 | & |
bitwise exclusive OR 位运算异或 | ^ |
bitwise inclusive OR 位运算或 | | |
&& |
|
logical OR 逻辑或 | || |
ternary 三元运算符 | ? : |
assignment 赋值运算符 | = += -= *= /= %= &= ^= |= <<= >>= >>>= |
一般在编程中,某些运算符比其他一些出现的更加频繁;例如,赋值运算符=
比无符号右位移运算符>>>
要常见的多.因此在接下来的讨论中,将先关注更可能在基本常规中使用的的运算符,结尾的时候再介绍不太常用的。每一部分附有可以编译运行的代码,学习这些程序的输出可以加深理解。