zoukankan      html  css  js  c++  java
  • Java运算符优先级

     

    序列号

    符号

    名称

    结合性(与操作数)

    目数

    说明

    1

    .

    从左到右

    双目

     

    ( )

    圆括号

    从左到右

     

     

    [ ]

    方括号

    从左到右

     

     

    2

    +

    正号

    从右到左

    单目

     

    -

    负号

    从右到左

    单目

     

    ++

    自增

    从右到左

    单目

    前缀增,后缀增

    - -

    自减

    从右到左

    前缀减,后缀减

    ~

    按位非/取补运算

    从右到左

    单目

     

    逻辑非

    从右到左

    单目

    “!”不可以与“=”联用

    3

    *

    从左到右

    双目

     

    /

    从左到右

    双目

    整数除法:取商的整数部分,小数部分去掉,不四舍五入

    %

    取余

    从左到右

    双目

     

    4

    +

    从左到右

    双目

     

    -

    从左到右

    双目

     

    5

    << 

    左移位运算符

    从左到右

    双目

     

    >> 

    带符号右移位运算符

    从左到右

    双目

     

    >>> 

    无符号右移

    从左到右

    双目

     

    6

    小于

    从左到右

    双目

    关系运算符“大于”说明

    <=

    小于或等于

    从左到右

    双目

     

    大于

    从左到右

    双目

     

    >=

    大于或等于

    从左到右

    双目

     

    instanceof

    确定某对象是否属于指定的类

    从左到右

    双目

     

    7

    ==

    等于

    从左到右

    双目

    关系运算符“==”说明

    !=

    不等于

    从左到右

    双目

     

    8

    &

    按位与

    从左到右

    双目

     

    9

    |

    按位或

    从左到右

    双目

     

    10

    ^

    按位异或

    从左到右

    双目

     

    11

    &&

    短路与

    从左到右

    双目

     

    12

    ||

    短路或

    从左到右

    双目

     

    13

    ? :

    条件运算符

    从右到左

    三目

     

    14

    =

    赋值运算符

    从右到左

    双目

     

    +=

    混合赋值运算符

     

    -=

     

    *=

     

    /=

     

    %=

     

    &=

     

    |=

     

    ^=

     

    <<=

     

    >>=

     

    >>>=

     

    说明:

      1、算数运算符

        + :加法

        - :减法

        * :乘法

        / :除法

        % :取余运算

      2、关系运算符

        < :只能比较基本类型数据之间的关系,不能比较对象之间的关系。

        > : (同关系运算符“<”)

        <=: (同关系运算符“<”)

        >=: (同关系运算符“<”)

        == :若使用该运算符比较两个对象的引用(变量),则实质上是比较两个变量是否引用了相同的对象。所谓相同的对象是指,是否是在堆栈(Heap)中开辟的同一块儿内存单元中存放的对象。

      若比较两个对象的引用(变量)所引用的对象的内容是否相同,则应该使用equals()方法,该方法的返回值类型是布尔值。需要注意的是:若用类库中的类创建对象,则对象的引用调用equals()方法比较的是对象的内容;若用自定义的类来创建对象,则对象的引用调用equals()方法比较的是两个引用是否引用了同一个对象,因为第二种情况equals()方法默认的是比较引用。

        != :(同关系运算符“==”)

      3、逻辑运算符 (操作符只能是布尔类型的)

        &&

        ||

        !

        4、位运算符

        &

        |

        ^

        ! :不可以与=联用,因为!是一元操作符;不可以对布尔类型的数据进行按位非运算

      5、移位运算符(只能处理整数运算符)

      Char、byte、short类型,在进行移位之前,都将被转换成int类型,移位后的结果也是int类型;移位符号右边的操作数只截取其二进制的后5位(目的是防止因为移位操作而超出int类型的表示范围:2的5次方是32,int类型的最大范围是32位);对long类型进行移位,结果仍然是long类型,移位符号右边的操作符只截取其二进制的后6位。

      << :

      >> :若符号位为正,则在最高位插入0;若符号位为负,则在最高位插入1

      >>> :无论正负,都在最高位插入0

  • 相关阅读:
    Saltstack module apache 详解
    Saltstack module ip 详解
    Saltstack module iosconfig 详解
    Saltstack module introspect 详解
    Saltstack module inspector 详解
    Saltstack module ini 详解
    Saltstack module incron 详解
    Modbus 指令 RS485指令规则
    停车系统对接第三方在线支付平台(二)
    停车系统对接第三方在线支付平台
  • 原文地址:https://www.cnblogs.com/bigjava/p/3923044.html
Copyright © 2011-2022 走看看