您的位置:首页 > 编程语言 > Java开发

Java运算符及其优先级

2012-10-15 10:19 190 查看
Java 中共有 54 种运算符,按优先级可以分为 14 级,详见如下(原来整理的,供为参考):

Java code
优先级   操作符   含义        关联性  用法
----------------------------------------------------------------
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


运算符不但有优先级,还有关联性。

上表中关联性为“左”表示该表达式从左边开始进行运算;关联性为“右”表示该表达式从右边开始进行运算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: