原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/14/2817915.html
英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
学习了如何声明和初始化变量,你很可能想知道如果使用他们。学习java语言操作符,是一个不错的起点。操作符是一些特殊的符号,给一个,两个,或者三个操作数执行特定操作,再返回结果。
当我们探险java编程语言的操作符,提前知道操作符有优先级,是很有用处的。根据优先级顺序,下面的表罗列了所有的操作符。越接近顶部的操作符,优先级越高。高优先级的操作符,比低优先级的操作符,会先进行计算。同一行的操作符,优先级相等。当优先级相等的操作符出现在同一个表达式里,要根据规则决定先计算哪个操作符。除了赋值操作符的二元操作符,计算由左到右;赋值操作符的计算由右到做。
操作符 | 优先级 |
---|---|
后缀 | expr++ expr-- |
一元 | ++expr --expr +expr -expr ~ ! |
乘法 | * / % |
加法 | + - |
移位 | << >> >>> |
比较 | < > <= >= instanceof |
相等 | == != |
位与 | & |
按位异或 | ^ |
OR运算 | | |
逻辑与 | && |
逻辑或 | || |
三元 | ? : |
赋值 | = += -= *= /= %= &= ^= |= <<= >>= >>>= |
多数编程中,一些操作符出现的更频繁;例如赋值操作符"="远远通用于无符号右移操作符">>>
"。出于这个原因,后面会讨论在常规基础里最常用的操作符,不关注少用的操作符。