zoukankan      html  css  js  c++  java
  • java运算符优先级和结合性

    运算符                         结合性

    [ ] . ( ) (方法调用)                  从左向右

    ! ~ ++ -- +(一元运算) -(一元运算)           从右向左

    * / %                        从左向右

    + -                          从左向右

    << >> >>>                     从左向右

    < <= > >= instanceof                从左向右

    == !=                         从左向右

    &                             从左向右
    ^                              从左向右
    |                               从左向右
    &&                              从左向右
    ||                               从左向右
    ?:                               从右向左

    = += -= *= /= %= &= |= ^= <<= >>= >>=    从右向左
    =============================================
    出一个题目:
    int i=3;
    int number=-i++;
    System.out.printf("number=%d ",number);
    System.out.printf("i=%d ",i);
    答案显示number=-3  i=4
    问题:++的优先级不是高于-号吗?为啥不是 -(i++)呢?
    解答:首先向右结合指的是符号本身,而不是变量,所以++的右面没有变量,而-的右面有变量,
    而且,++和-的优先级相同。所以,这个时候变成-3,根据后置++的定义,变量是先使用后自增的原则,结果为-3
    最后i的值自增1变为4。
  • 相关阅读:
    关于在MAC上进行 LARAVEL 环境 Homestead 安装过程记录
    js 贷款计算器
    js 实现阶乘
    js 两点间距离函数
    composer Your requirements could not be resolved to an installable set of packages
    vue 项目优化记录 持续更新...
    vue 项目打包
    vue 真机调试页面出现空白
    vue 真机调试
    谈谈-Android状态栏的编辑
  • 原文地址:https://www.cnblogs.com/litifeng/p/6647021.html
Copyright © 2011-2022 走看看