2009年1月9日星期五

Java 中的运算符

优先级 操作符 含义 关联性 用法
1 [ ] 数组下标 array_name[expr]
. 成员选择object.member
( )方法参数method_name(expr_list)
( )实例构造class_name(expr_list)
++后缀自增lvalue++
--后缀自减lvalue--
2++前缀自增++rvalue
--前缀自减--lvalue
~按位取反~expr
!逻辑非!expr
+一元加+expr
-一元减-expr
3( )强制转换(type)expr
new对象实例化new type()
new type(expr_list)
new type[expr]
4*expr * expr
/expr / expr
%求余expr % expr
5+expr + expr
-expr - expr
+字符串连接strExpr + strExpr
6>>有符号右移expr >> distance
>>>无符号右移expr >>> distance
7<小于expr < expr
<=小于等于expr <= expr
>大于expr > expr
>=大于等于expr >= expr
instanceof类型比较ref instanceof refType
==等于expr == expr
!=不等于expr != expr
8&整数按位与integralExpr & integralExpr
&布尔与booleanExpr & booleanExpr
9^整数按位异或integralExpr ^ integralExpr
^布尔异或booleanExpr ^ booleanExpr
10|整数按位或integralExpr | integralExpr
|布尔或booleanExpr | booleanExpr
11&&逻辑与booleanExpr && booleanExpr
12||逻辑或booleanExpr || booleanExpr
13? :条件运算booleanExpr ? expr : expr
14=赋值lvalue = expr
*=乘赋值lvalue *= expr
/=除赋值lvalue /= expr
%=模赋值lvalue %= expr
+=加赋值lvalue += expr
+=字符串连接赋值lvalue += expr
-=减赋值lvalue -= expr
<<=左移赋值lvalue <<= expr
>>=有符号右移赋值lvalue >>= expr
>>>=无符号右移赋值lvalue >>>= expr
&=整数按位与赋值lvalue &= expr
&=布尔与赋值lvalue &= expr
|=整数按位或赋值lvalue |= expr
|=布尔或赋值lvalue |= expr
^=整数按位异或赋值lvalue ^= expr
^=布尔异或赋值lvalue ^= expr