栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java--运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java--运算符

  1. 取模运算符的本质: a%b=a-a/b*b 10%-3=10-10/-3*-3=10-9=1

  2. 面试题:

    • int i=1;i=i++; 输出i 结果为 1 ( temp=i; i=i+1;i=temp) 先赋值后自增

    • int i=1; i=++i; 输出i 结果 2(i=i+1; temp=i;i=temp)

  3. 逻辑运算符:

    • && 短路与 & 逻辑与

      • && 短路与: 如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高

      • &逻辑与: 不管第一个条件是否为false ,第二个条件都要判断,效率低

    • || 短路或 |逻辑或

      • || 短路或 : 如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高

      • |逻辑或: 不管第一个条件是否为真,第二个条件都要判断

  4. 原码、反码、补码

    • 对于有符号的而言:

    • 二进制的最高位是符号位: 0表示正数,1表示负数

      • 当我们看运算结果的时候,要看他的原码

      • 在计算机运算的时候,都是以补码的方式进行运算的

      • Java没有无符号数,换言之,Java中的数都是有符号的

      • 0的反码,补码都是0

      • 负数的补码=他的反码加一, 负数的反码=负数的补码-1

      • 负数的反码=他的原码符号位不变,其他位取反

      • 正数的原码,反码,补码都一样

      • 示例:

        1. 2&3 00000000 00000000 00000000 00000010 & 00000000 00000000 00000000 00000011=00000000 00000000 00000000 00000010 =2

        2. ~-2 10000000 00000000 00000000 00000010->反码 11111111 11111111 11111111 11111101->补码

          11111111 11111111 11111111 11111110->取反 00000000 00000000 00000000 00000001 结果为1

        3. ~2 00000000 00000000 00000000 00000010->操作 11111111 11111111 11111111 11111101

          --->负数补码求原码---->反码:11111111 11111111 11111111 11111100-->原码 10000000 00000000 00000000 00000011 -3

  5. 左移 << 右移>>

    • 左移 *2

    • 右移 /2

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671907.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号