zoukankan      html  css  js  c++  java
  • 运算符优先级记忆口诀及列表(转)

    一共有十五个优先级: 同一优先级的运算符,运算次序由结合方向所决定

    1   ()  []  .  ->        (括号,成员排第一)

    2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof       (单目运算排第二)

    3   * / %         (乘除余三)

    4   + -             (加减四)

    5   >> <<          (移位五)

    6   > >= < <=     (关系六)

    7   == !=           (等于不等排第七)

    8   &             (位“与”) 

    9   ^               (”异或“)

    10  |               (和位"或")三分天下八九十

    11  &&            (逻辑 ”与“)

    12  ||                (和”或“)十一和十二

    13  ?:                (条件运算符)

    14   =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=    (条件高于赋值)

    15  ,             (逗号优先级最低)

     结合性:2   13  14  是从右至左   其他都是  从左至右有问题可以在交流的 

    括号成员第一;        //括号运算符[]() 成员运算符.  ->

    全体单目第二;        //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&

    乘除余三,加减四;   //这个"余"是指取余运算即%

    移位五,关系六;    //移位运算符:<< >> ,关系:> < >= <= 等

    等于(与)不等排第七;    //即== 和!=

    位与异或和位或;    //这几个都是位运算: 位与(&)异或(^)位或(|)    

    "三分天下"八九十;  

    逻辑或跟与;            //逻辑运算符:|| 和 &&

    十二和十一;            //注意顺序:优先级(||)  底于 优先级(&&) 

    条件高于赋值,        //三目运算符优先级排到13 位只比赋值运算符和","高

    逗号运算级最低!    //逗号运算符优先级最低 

    优先级

    运算符

    名称或含义

    使用形式

    结合方向

    说明

    1

    []

    数组下标

    数组名[常量表达式]

    左到右

    ()

    圆括号

    (表达式)/函数名(形参表)

    .

    成员选择(对象)

    对象.成员名

    ->

    成员选择(指针)

    对象指针->成员名

    2

    -

    负号运算符

    -表达式

    右到左

    单目运算符

    (类型)

    强制类型转换

    (数据类型)表达式

    ++

    自增运算符

    ++变量名/变量名++

    单目运算符

    --

    自减运算符

    --变量名/变量名--

    单目运算符

    *

    取值运算符

    *指针变量

    单目运算符

    &

    取地址运算符

    &变量名

    单目运算符

    !

    逻辑非运算符

    !表达式

    单目运算符

    ~

    按位取反运算符

    ~表达式

    单目运算符

    sizeof

    长度运算符

    sizeof(表达式)

    3

    /

    表达式/表达式

    左到右

    双目运算符

    *

    表达式*表达式

    双目运算符

    %

    余数(取模)

    整型表达式/整型表达式

    双目运算符

    4

    +

    表达式+表达式

    左到右

    双目运算符

    -

    表达式-表达式

    双目运算符

    5

    <<

    左移

    变量<<表达式

    左到右

    双目运算符

    >>

    右移

    变量>>表达式

    双目运算符

    6

    >

    大于

    表达式>表达式

    左到右

    双目运算符

    >=

    大于等于

    表达式>=表达式

    双目运算符

    <

    小于

    表达式<表达式

    双目运算符

    <=

    小于等于

    表达式<=表达式

    双目运算符

    7

    ==

    等于

    表达式==表达式

    左到右

    双目运算符

    !=

    不等于

    表达式!= 表达式

    双目运算符

    8

    &

    按位与

    表达式&表达式

    左到右

    双目运算符

    9

    ^

    按位异或

    表达式^表达式

    左到右

    双目运算符

    10

    |

    按位或

    表达式|表达式

    左到右

    双目运算符

    11

    &&

    逻辑与

    表达式&&表达式

    左到右

    双目运算符

    12

    ||

    逻辑或

    表达式||表达式

    左到右

    双目运算符

    13

    ?:

    条件运算符

    表达式1? 表达式2: 表达式3

    右到左

    三目运算符

    14

    =

    赋值运算符

    变量=表达式

    右到左

    /=

    除后赋值

    变量/=表达式

    *=

    乘后赋值

    变量*=表达式

    %=

    取模后赋值

    变量%=表达式

    +=

    加后赋值

    变量+=表达式

    -=

    减后赋值

    变量-=表达式

    <<=

    左移后赋值

    变量<<=表达式

    >>=

    右移后赋值

    变量>>=表达式

    &=

    按位与后赋值

    变量&=表达式

    ^=

    按位异或后赋值

    变量^=表达式

    |=

    按位或后赋值

    变量|=表达式

    15

    ,

    逗号运算符

    表达式,表达式,…

    左到右

    从左向右顺序运算

    说明:

    同一优先级的运算符,运算次序由结合方向所决定。

    主义逻辑运算符&& || “懒惰求值”

    简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

    http://www.cnblogs.com/PegasusWang/articles/2874975.html

  • 相关阅读:
    class(类)和构造函数(原型对象)
    es6中export和export default的区别
    vue混入 (mixin)的使用
    ES6(Module模块化)
    vue-cli3构建和发布 实现分环境打包步骤(给不同的环境配置相对应的打包命令)
    Vue中使用Echarts 脱坑
    Nginx配置详解
    VUE面包屑组件
    更改 pip 默认下载源(pip 配置文件)
    常见免费API接口
  • 原文地址:https://www.cnblogs.com/simonLiang/p/5870985.html
Copyright © 2011-2022 走看看