zoukankan      html  css  js  c++  java
  • Java学习 第三章 java基础(三)

    Java运算符

    1、算数运算符:

    加(+) 、减(-)、乘(*)、除(/)、取余(%)

    自加(++)、自减(--)

    2、关系运算符

    java关系运算符用于判断数据之间的大小关系

    >(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)

    关系表达式的值为boolean类型(“true”或“false”)

    3、逻辑运算符

    逻辑运算的操作均为boolean表达式,结果true or false。

    逻辑运算符中的每一个表达式的结果必须是true or false。

    Java提供如下逻辑运算符:

     

    & :  长路与运算 ,&两边都是整数时,是位与运算符;两边是关系运算时,是逻辑运算。长路与运算会把两边的关系运算结果都计算出来。

    &&  : 短路与运算,当运算符左边的关系结果是false时,不再对右边的关系运算进行计算。

    或运算:当两个关系运算的结果有一个是true时,运算的结果是true,否则是false

    | :长路或运算,长路或运算在两边都是整数时,是逐位或运算;在两边是关系运算时,是逻辑运算;长路或运算会将两边的运算结果都计算出来。

    ||  :短路或运算,当运行符号左边的关系运算结果是true时,不再进行右边的关系运算,直接得出true的结果。

    ! : (非) 将关系运算结果取反。

    三种逻辑运算的优先级:

    非运算最高;

    其次是与运算;

    优先级最低的是或运算;

     4、条件运算符

    条件运算符又称为“三目”运算,其结构为:

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

    如果表达式1 为true结果就是表达式2的结果

    如果表达式1为false结果就是表达式3的结果

    5、赋值运算符

    “=”称为赋值运算符,用于对变量赋值。

    赋值表达式本身也有值,其本身之值即为所赋之值。

    可以使用扩展赋值表达式(+=、-=、/=、*=、%=)。

    eg : int b = 20;

    b += 5.5;(对的)

    // b = b+5.5;错误===>b = (int)(b+5.5);

    6、字符串连接运算符

    “+” 可以实现字符串的连接。同时可以实现字符串与其他数据类型的“项连”。

    eg : System.out.println(1+2+3+”hello”) 输出6hello

    eg : System.out.println(”hello”+1+2+3) 输出 hello123

    7、位运算操作符(效率高,都是直接二进制运算)

    (1)右移操作    

    >> 有符号 正数补0 负数补1

    >>>无符号 正数补0 负数补0

    正数:转换成二进制,往后挪动2位前面补0,最后两位抹去

    右移动一位相当于除以2

    eg : int a = 10;  a>>2;  得到2

    负数:前面补位,补1 后面抹去

    eg :int b = -10; b>>2;  

    /*

    推理过程

    a.先得到-10的二进制

    10的二进制 28个0  1010

    取反   28个1   0101——>+1

    -10的二进制 28个1  0110

    b.移动

    右移动两位   11  28个1  01 这个就是最终的负数

    c.计算最后结果

    负数取反+1得到对应的正数

    00 28个0 10 +1====>得到对应正数 00 28个0 11

    正数是3对应的负数时-3

    */

    无符号右移动专门针对负数,正数前面补0,负数在前面也是补0

    eg: b>>>2;

    (2)左移操作

    << 后面补0(不管正负数),左移动一位相当于乘以2

    (3) & (位与)、|(位或)、 ^(异或)

        • 操作数1 & 操作数2   

    eg: int c = 5,d = 4; c & d;(把两个数字都转换成二进制,然后一位一位运算,都是1这一位就为1否则为0,得到的二进制再转换成十进制即可)

        • 操作数1 | 操作数2

    eg: int c = 5,d = 4; c | d;(把两个数字都转换成二进制,然后一位一位运算,都是0这一位就01否则为1,得到的二进制再转换成十进制即可)

        • 操作数1  ^  操作数2

    eg: int c = 5,d = 4; c ^ d;(把两个数字都转换成二进制,然后一位一位运算,相同为0不相同为1,得到的二进制再转换成十进制即可)

    // c = a ^ b;  那么 b 等于c^a ; a等于 c^b 的结果;

     

     

  • 相关阅读:
    入门指引之实现简单的被动回复和图来图往
    入门指引
    实现待办事项网站回顾
    使用Django 测试客户端一起测试视图,模板和URL
    使用单元测试测试简单的首页
    2 使用unitest 模块扩展功能测试
    1 准备工作
    2018 开始认真学习点python
    边学边体验django--HttpRequest 对象
    边学边体验django--表格
  • 原文地址:https://www.cnblogs.com/lulushen/p/7978137.html
Copyright © 2011-2022 走看看