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

没有评论: