• java中的操作符


    学习提示:本节给出了Java语言中的所有操作符以及它们的用法和描述,还给出了它们的优先级,以供随时查阅。

    Java语言中的操作符及操作符的优先级

    算术操作符

    Operator

    Use

    Description

    +

    op1 + op2

    返回op1和op2的和

    -

    op1 - op2

    返回op1和op2的差

    *

    op1 * op2

    返回op1和op2的积

    /

    op1 / op2

    返回op1除以op2的商

    %

    op1 % op2

    返回op1除以 op2的余数

    关系操作符

    Operator

    Use

    Description

    >

    op1 > op2

    当op1 大于op2 时返回true

    >=

    op1 >= op2

    当op1 大于或等于op2 时返回true

    <

    op1 < op2

    当op1 小于op2 时返回true

    <=

    op1 <= op2

    当op1 小于或等于op2 时返回true

    ==

    op1 == op2

    当op1 等于大于op2 时返回true

    !=

    op1 != op2

    当op1 不等于op2 时返回true

    条件操作符

    Operator

    Use

    Description

    &&

    op1 && op2

    当op1和op2都是true时,返回true ;如果op1的值是false,则不运算右边的操作数

    ||

    op1 || op2

    当op1和op2有一个是true时,返回true;如果op1的值是true,则不运算右边的操作数

    !

    ! op

    当op是false时,返回true;当op是true时,返回false

    &

    op1 & op2

    运算op1和op2;如果op1和op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位与操作

    |

    op1 | op2

    运算op1和op2;如果op1和op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位或操作

    ^

    op1 ^ op2

    运算op1和op2;如果op1和op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位异或操作

    移动操作符

    Operator

    Use

    Operation

    >>

    op1 >> op2

    将op1的位向右移动,距离由op2决定;左边的位填上最高位(符号位)

    <<

    op1 << op2

    将op1的位向左移动,距离由op2决定;右边的位填上0

    >>>

    op1 >>> op2

    将op1的位向右移动,距离由op2决定;左边的位填上0

    位操作符

    Operator

    Use

    Operation

    &

    op1 & op2

    运算op1和op2;如果op1和op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位与操作

    |

    op1 | op2

    算op1和op2;如果op1和op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位或操作

    ^

    op1 ^ op2

    运算op1和op2;如果op1和op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位异或操作

    ~

    ~op2

    位补,即反转op2的每一位,如果位是1,结果是0,如果位是0,结果是1

    位与

    op1

    op2

    Result

    0

    0

    0

    0

    1

    0

    1

    0

    0

    1

    1

    1

    位或

    op1

    op2

    Result

    0

    0

    0

    0

    1

    1

    1

    0

    1

    1

    1

    1

    位异或

    op1

    op2

    Result

    0

    0

    0

    0

    1

    1

    1

    0

    1

    1

    1

    0

    赋值操作符

    Operator

    Use

    Equivalent to

    +=

    op1 += op2

    op1 = op1 + op2

    -=

    op1 -= op2

    op1 = op1 - op2

    *=

    op1 *= op2

    op1 = op1 * op2

    /=

    op1 /= op2

    op1 = op1 / op2

    %=

    op1 %= op2

    op1 = op1 % op2

    &=

    op1 &= op2

    op1 = op1 & op2

    |=

    op1 |= op2

    op1 = op1 | op2

    ^=

    op1 ^= op2

    op1 = op1 ^ op2

    <<=

    op1 <<= op2

    op1 = op1 << op2

    >>=

    op1 >>= op2

    op1 = op1 >> op2

    >>>=

    op1 >>>= op2

    op1 = op1 >>> op2

    其他操作符

    Operator

    Description

    ?:

    简写的的if-else语句,唯一的三元操作符

    []

    用于声明数组、创建数组和访问数组元素

    .

    用于组成限定名

    params )

    标出一个以逗号分隔的参数列表的范围

    type )

    将一个值转换为指定的类型

    new

    创建一个对象或数组

    instanceof

    判断它的第一个操作数据数是否是它的第二个操作数的实例

    操作符优先级

    postfix perators

    [] . (paramsexpr++ expr--

    unary operators

    ++expr --expr +expr -expr ~ !

    creation or cast

    new (type)expr

    multiplicative

    * / %

    additive

    + -

    shift

    << >> >>>

    relational

    < > <= >= instanceof

    equality

    == !=

    bitwise AND

    &

    bitwise exclusive OR

    ^

    bitwise inclusive OR

    |

    logical AND

    &&

    logical OR

    ||

    conditional

    ? :

    assignment

    = += -= *= /= %= &= ^= |= <<= >>= >>>=

    注:上面的操作数优先级从上到下依次降低,同一个单元格内的优先级相同

    操作

    优先级

    结合性

    后缀运算符

    [ ] . ( ) (函数呼叫)

    从左到右

    单目运算符

    ! ~ ++ -- +(单操作数) –(单操作数)

    从右到左

    创建

    new

    从左到右

    乘除

    * / %

    从左到右

    加减

    + -

    从左到右

    移位

    << >> >>>

    从左到右

    关系

    < <= > >= instanceof

    从左到右

    相等

    == !=

    从左到右

    按位与

    &

    从左到右

    按位异或

    ^

    从左到右

    按位或

    |

    从左到右

    逻辑与

    &&

    从左到右

    逻辑或

    ||

    从左到右

    条件

    ? :

    从右到左

    赋值

    = += -= *= /= %= ^= <<= >>= >>>=

    从右到左

  • 相关阅读:
    SlidingMenu官方实例分析2——BaseActivity
    SlidingMenu官方实例分析1——ExampleListActivity
    SlidingMenu——使用前的配置
    获得String形式日期的后一天
    android中TabHost和RadioGroup
    android中文字斜着显示
    OpenGL ES andoid学习————2
    OpenGL ES andoid学习————1
    Gallery学习————检测手机中是否存在外部存储设备
    Java读取xml数据
  • 原文地址:https://www.cnblogs.com/vegetate/p/9997356.html
Copyright © 2020-2023  润新知