# 运算符

> 原文： [https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html)

既然你已经学会了如何声明和初始化变量，你可能想知道如何 _ 用它们做某事 _。学习 Java 编程语言的操作符是一个很好的起点。运算符是对一个，两个或三个 _ 操作数 _ 执行特定操作的特殊符号，然后返回结果。

在我们探索 Java 编程语言的运算符时，提前知道哪些运算符具有最高优先级可能会对您有所帮助。下表中的运算符按优先顺序列出。运算符越接近表格顶部，其优先级越高。优先级较高的运算符在优先级相对较低的运算符之前进行求值。同一行上的运算符具有相同的优先权。当具有相同优先级的运算符出现在同一表达式中时，规则必须控制首先计算的值。除了赋值运算符之外的所有二元运算符都是从左到右计算的;赋值运算符从右到左进行计算。

<caption id="nutsandbolts-precedence">**Operator Precedence**</caption>
| 运算符 | 优先权 |
| --- | --- |
| 后缀 | `_expr_ ++ _expr_ -` |
| 一元 | `++ _expr_ - _expr_ + _expr_ - _expr_ 〜！` |
| 乘 | `* / %` |
| 添加剂 | `+ -` |
| 转移 | `&lt;&lt; &gt;&gt; &gt;&gt;&gt;` |
| 相关的 | `&lt; &gt; &lt;= &gt;= instanceof` |
| 平等 | `== !=` |
| 按位 AND | `&` |
| 按位异或 | `^` |
| 按位包含 OR | `&#124;` |
| 逻辑 AND | `&&` |
| 逻辑或 | `&#124;&#124;` |
| 三元 | `? :` |
| 分配 | `= += -= *= /= %= &= ^= &#124;= &lt;&lt;= &gt;&gt;= &gt;&gt;&gt;=` |

在通用编程中，某些运算符往往比其他运算符更频繁地出现;例如，赋值运算符“`=`”比无符号右移运算符“`&gt;&gt;&gt;`”更常见。考虑到这一点，以下讨论首先关注您最有可能定期使用的运算符，并最终关注那些不太常见的运算符。每个讨论都附有可以编译和运行的示例代码。研究它的输出将有助于强化你刚刚学到的东西。