java 运算符

本贴最后更新于 2211 天前,其中的信息可能已经天翻地覆

运算符归类:
一元运算符:逻辑运算符(!),非运算符(~)
二元运算符:复制运算符(=),逻辑与运算符(&&),逻辑或运算符(||),逐位与运算符(&),逐位或运算符(|),右移运算符(>>)
三元运算符:X?Y:Z;

逐位运算符

逐位运算符是一种比较复制的运算符。可以分为逐位逻辑运算符,逐位位移运算符两种。无论那种逐位运算符,都必须将操作数要求是整形的操作符,转换为 32 位的二进制数值。然后参与运算,运算完毕将结果转换成十进制数据.

1.逐位与运算符

逐位与运算符(&)是一个二元运输符,该运算符可以将左右两个操作数据逐位执行 And 的操作

即只有 2 个操作数据中的对应的位数都加 1 是,该结果中的的这一位才是 1,否则就是 0,如下代码:


    int s=9&12; //结果是8        
    int s1=1&15; //结果是1 

1524217618png
图解:在进行逐位与操作时,逐位与运算符会将 10 进制的数据转换成 2 进制的数据,在将 2 进制的数据转中的每一位数值逐位进行 and 操作,的出结果后将结果转换成 10 进制的数据。

2.逐位或运算符

逐位或运算符(|)和逐位与运算符类似,可以将左右两个操作符逐位都执行 OR 操作,两个操作中的相对位的只要有一个为 1 的时,该结果的这一位就是 1,其他就是 0。

3.逐位异或运算符

逐位异或运算符(^)和逐位与运算符类似,可以将左右 2 个操作数逐位执行异或运算,所谓异或操作是指,将第 1 个操作数和第 2 个操作数相对应的位上的 2 个数值异或,不同为 1,相同为 0。

4 逐位非运算符

逐位非运算符(~)是一元运算符,可以将操作数据中的所有位数中的数值取反,在 java 中对于一个带符号的整数进行逐位非运算符。相当于将该整数改变符号,然后在减 1。

5 左移运算符

左移运算符(<<)是一个二元运算符,可以将 1 个操作数据中的所有数值(一共 32 位),向左移动,移动的位数由第 2 个操作数决定,因此第 2 个操作数应该是 0~31 的整数,如果第 2 个操作数据大于 31,那么结果就是第一个数据

15242201931png
图解:是将一个值左移 1 位,相当于将该数值乘以 2;左移 2 位,相当于将该数值乘以 4。

6 带符号的右移运算符

带符号的右移运算符(>>) 是一个二元操作符,可以将第 1 个操作数据中的所有数值(一共 32 位)向右移动,移动的位数由第 2 个操作数据来决定,因此第 2 个操作数据应该是 0~31 的整数,如果第 2 个操作数据大于 31,那么结果就是第一个数据。

7 用 0 补足的右移运算符

用 0 补足的右移运算符(>>>)与带符号的左移运算符类似,只是在右移的时候,最左侧的数值都是用 0 来补充。

  int s=12>>>1; //结果是6
   int s1=-12>>>1; //结果是2147483642
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 285 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8207 回帖
  • 算法
    390 引用 • 254 回帖 • 22 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    51 引用 • 37 回帖
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖 • 1 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 405 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1738 回帖 • 1 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 319 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 14 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 38 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 12 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 2 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 197 关注
  • 自由行
    3 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 244 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    138 引用 • 268 回帖 • 188 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    3 引用 • 83 回帖 • 4 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 600 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖 • 1 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    5 引用 • 15 回帖 • 216 关注
  • sts
    2 引用 • 2 回帖 • 153 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 19 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 215 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 597 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖 • 1 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 692 关注