zoukankan      html  css  js  c++  java
  • Java中的运算符

    算数运算符

        +   -    *    /    %(取余数)

                   + 号 两边如果有字符串,就不再是求和,而是字符串的连接符号;

                   % 号 结果的符号只与被模数有关;经常使用 % 来获取数值各个位上的值;

    一元运算符

           ++    --

                   自加和自减运算符:如果运算符在前,先进行自加自减运算,再进行赋值或运算;

                  如果运算符在后,先进行赋值或运算,再进行自加自减运算;

    赋值运算符

         =    +=    -=    *=    /=    %=

                     += 相当于计算出结果后,又进行了一次强制类型转换;

    关系运算符

         ==    !=    <    >    <=    >=

          输出 true  false两种结果;

          == 两边是引用数据类型时 判断 等号 两边的内存地址是否相等;

    逻辑运算符

        &    |

                   & 逻辑与 两边的表达式只要有一个为false,整体结果为false;

            只有两边表达式都为true,整体结果为true;

                   true & true = true

                   true & false = false

                   false & true = false

                   false & false = false

                   | 逻辑或 两边的表达式只要有一个为true,整体结果为true;

                                   只有两边表达式都为false,整体结果为false;

                     true | true = true

                     true | false = true

                 false | true = true

                     false | false = false

                  

                   !逻辑非

                     !true = false;

                     !false = true;

                   &&    ||  也称为逻辑与、逻辑或 ,有短路的作用;

                   &&  如果有表达式的结果为 false , 后面的表达式将不会被执行,整体结果为false;

                   ||    如果有表达式的结果为 true , 后面的表达式将不会被执行,整体结果为true;

    位运算符

        & 按位与  | 按位或   ^ 按位异或   ~ 取反 ;<< 按位左移  >> 按位右移  >>> 无符号右移

                   &

                   1 & 0 = 0

                   1 & 1 = 1

                   0 & 1 = 0

                   0 & 0 = 0

                   |

                   1 | 0 = 1

                   1 | 1 = 1

                   0 | 1 = 1

                   0 | 0 = 0

                   ^

                   1 ^ 0 = 1

                   1 ^ 1 = 0  规律:1、两边相同时结果为 0 ,两边不同时结果为 1 ;

                   0 ^ 1 = 1               2、一个数异或另一个数两次,结果是其本身;(加密和解密)

                   0 ^ 0 = 0 

                   ~            0000-0000 0000-0000 0000-0000 0001-1101     29

                                 1111-1111 1111-1111 1111-1111 1110-0010    -30

                                 1111-1111 1111-1111 1111-1111 1110-0011    -29

                   << 按位左移 左移几位 就相当于将这个数与2的几次幂相乘;

                   >> 按位右移 补位数字与符号位数字相同 右移几位 就相当于将这个数与2的几次幂相除;

                   >>> 按位无符号右移 无论正负 都是用0 来补位;

    三元运算符

                   (条件表达式)?表达式1:表达式2;如果条件表达式为true,整体结果为表达式1的值;如为false,整体结果为表达式2的值;

    Java运算符优先级

     序列号

    符号

    名称

    结合性(与操作数)

    目数

    说明

    1

    .

    从左到右

    双目

     

    ( )

    圆括号

    从左到右

     

     

    [ ]

    方括号

    从左到右

     

     

    2

    +

    正号

    从右到左

    单目

     

    -

    负号

    从右到左

    单目

     

    ++

    自增

    从右到左

    单目

    前缀增,后缀增

    - -

    自减

    从右到左

    前缀减,后缀减

    ~

    按位非/取补运算

    从右到左

    单目

     

    逻辑非

    从右到左

    单目

    !”不可以与“=”联用

    3

    *

    从左到右

    双目

     

    /

    从左到右

    双目

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

    %

    取余

    从左到右

    双目

     

    4

    +

    从左到右

    双目

     

    -

    从左到右

    双目

     

    5

    << 

    左移位运算符

    从左到右

    双目

     

    >> 

    带符号右移位运算符

    从左到右

    双目

     

    >>> 

    无符号右移

    从左到右

    双目

     

    6

    小于

    从左到右

    双目

    关系运算符“大于”说明

    <=

    小于或等于

    从左到右

    双目

     

    大于

    从左到右

    双目

     

    >=

    大于或等于

    从左到右

    双目

     

    instanceof

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

    从左到右

    双目

     

    7

    ==

    等于

    从左到右

    双目

    关系运算符“==”说明

    !=

    不等于

    从左到右

    双目

     

    8

    &

    按位与

    从左到右

    双目

     

    9

    |

    按位或

    从左到右

    双目

     

    10

    ^

    按位异或

    从左到右

    双目

     

    11

    &&

    短路与

    从左到右

    双目

     

    12

    ||

    短路或

    从左到右

    双目

     

    13

    ? :

    条件运算符

    从右到左

    三目

     

    14

    =

    赋值运算符

    从右到左

    双目

     

    +=

    混合赋值运算符

     

    -=

     

    *=

     

    /=

     

    %=

     

    &=

     

    |=

     

    ^=

     

    <<=

     

    >>=

     

    >>>=

     

  • 相关阅读:
    Linux中配置Aria2 RPC Server
    Ubuntu无法进入Windows的NTFS分区
    Visualbox在UEFI模式下无法正常引导
    pacman安装软件包出现损坏
    Windows下禁用锁屏热键WinKey+L
    Linux中无权限使用sudo
    Windows 10 MBR转GPT
    oh-my-zsh的安装与基本配置
    Raspbian开启root账户
    xrandr: 命令行修改分辨率工具
  • 原文地址:https://www.cnblogs.com/coffeerun/p/5718167.html
Copyright © 2011-2022 走看看