几个典型运算符之间的区别

1. i++++i

i++(后缀递增运算符)

  • 这被称为后缀递增运算符。它首先返回变量 i 的当前值,然后将 i 的值增加 1。
  • 通常用于循环计数器的递增。

++i(前缀递增运算符)

  • 这被称为前缀递增运算符。它首先将 i 的值增加 1,然后返回新的值。
  • 通常用于确保变量的值在递增之前被使用。

区别

  • i++ 先返回当前值,然后递增。
  • ++i 先递增,然后返回新值。

示例

int i = 5;
System.out.println(i++); // 输出 5,然后 i 变为 6
System.out.println(++i); // 输出 7,i 先增加 1

2. &&&

&(按位与运算符)

  • 这是一个二元运算符,用于对两个整数的二进制位进行按位与操作。
  • 它对两个操作数的每一位进行与操作,如果两个位都是 1,则结果位是 1,否则是 0。

&&(逻辑与运算符)

  • 这是一个逻辑运算符,用于比较两个布尔值。
  • 如果两个操作数都为 true,则结果为 true;否则为 false
  • 它是短路运算符,如果第一个操作数为 false,则不会计算第二个操作数。

区别

  • & 用于整数的按位操作,返回一个整数。
  • && 用于布尔值的逻辑操作,返回一个布尔值。
  • && 是短路运算符,而 & 不是。

示例

int a = 5, b = 3;
System.out.println(a & b); // 输出 1 (二进制 101 & 011) boolean c = true;
boolean d = false;
System.out.println(c && d); // 输出 false

3. |||

|(按位或运算符)

  • 这是一个二元运算符,用于对两个整数的二进制位进行按位或操作。
  • 它对两个操作数的每一位进行或操作,如果至少有一个位是 1,则结果位是 1。

||(逻辑或运算符)

  • 这是一个逻辑运算符,用于比较两个布尔值。
  • 如果至少有一个操作数为 true,则结果为 true;否则为 false
  • 它是短路运算符,如果第一个操作数为 true,则不会计算第二个操作数。

区别

  • | 用于整数的按位操作,返回一个整数。
  • || 用于布尔值的逻辑操作,返回一个布尔值。
  • || 是短路运算符,而 | 不是。

示例

int a = 5, b = 3;
System.out.println(a | b); // 输出 7 (二进制 111) boolean c = true;
boolean d = false;
System.out.println(c || d); // 输出 true

4. >>>

>(大于运算符)

  • 这是一个关系运算符,用于比较两个数值或字符。
  • 如果左边的值大于右边的值,则返回 true;否则返回 false

>>(右移位运算符)

  • 这是一个二元运算符,用于将一个数的二进制位向右移动指定的位数。
  • 如果是算术右移位(没有符号位),则左边用符号位填充;如果是逻辑右移位(有符号位),则左边用 0 填充。

区别

  • > 用于数值或字符的比较。
  • >> 用于数值的二进制位移动。

示例

int a = 5;
int b = 3;
System.out.println(a > b); // 输出 true int c = 5;
System.out.println(c >> 1); // 输出 2 (二进制 101 >> 1)

理解这些运算符的区别和联系对于编写正确的 Java 程序和进行有效的逻辑判断非常重要。*

JavaSE-几个典型运算符之间的区别的更多相关文章

  1. cookie、 sessionStorage 、localStorage之间的区别和使用

    1.cookie:存储在用户本地终端上的数据.有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密.一般应用最典型的案列就是判断注册用户是否 ...

  2. OM1、OM2、OM3和OM4光纤之间的区别

    “OM”stand for optical multi-mode,即光模式,是多模光纤表示光纤等级的标准.不同等级传输时的带宽和最大距离不同,从以下几个方面分析它们之间的区别.  一.OM1.OM2. ...

  3. keydown,keypress,keyup三者之间的区别

    最近看了Javascript高级教程中对过滤输入的介绍,想实现比如电话号码中不能包好非数值的字符,而相应文本中插入字符的操作是keypress事件,所以就想通过阻止这个事件的默认事件行为来阻止这个事件 ...

  4. KeyPress 和KeyDown 、KeUp之间的区别

    前几天,在写完一个功能模块上线测试的时候,出现了一个诡异的问题.input 框在输入查询内容之后,按回车键居然有两种不同的表现形式(input 框没有绑定键盘事件),谷歌和火狐功能正常,但IE在按了回 ...

  5. HTML-HTML5+CSS3权威指南阅读(一、HTML5与HTML4之间的区别)

    一.HTML5与HTML4之间的区别 1. DOCTYPE 声明 1). HTML4 中为 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T ...

  6. web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么?

    web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么? 这是我在网上找的一些资料:1. Web浏览器除了可以在本地硬盘上打开网页文档外,还可以使用http网络协议从网络上的We ...

  7. Monkey、Monkeyrunner之间的区别

    Monkey.Monkeyrunner之间的区别 一.Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输 ...

  8. 说明sizeof和strlen之间的区别。

    解析:由以下几个例子我们说明sizeof和strlen之间的区别.第1个例子: sizeof(ss)结果为4,ss是指向字符串常量的字符指针.sizeof(*ss)结果为1,*ss是第一个字符.第2个 ...

  9. overload和override二者之间的区别

    overload和override三者之间的区别 Overload是重载,是有相同的方法名,但参数类型或个数彼此不同Override是重写,是在子类与父类中,子类中的方法的方法名,参数个数.类型都与父 ...

  10. Java和JavaScript之间的区别

    1.简介 通过优锐课核心java学习笔记中,我们可以看到,Java和JavaScript之间的区别.我们将在本文中比较Java语言和JavaScript语言.JavaScript由Netscape开发 ...

随机推荐

  1. Java 使用ListUtils对List分页处理

    背景分析   工作中,经常遇到需要用Java进行分页处理数据,例如把1000万条Excel数据写入MySQL数据库,如果把这1000w数据一股脑的丢给MySQL,保证把数据库玩完,故需要批量写入,如每 ...

  2. QRSuperResolutionNet:一种结构感知与识别增强的二维码图像超分辨率网络(附代码解析)

    QRSuperResolutionNet:一种结构感知与识别增强的二维码图像超分辨率网络(附代码解析) 趁着 web开发课程 期末考试前夕,写一篇博客.{{{(>_<)}}} 将我最近所做 ...

  3. HTML显示不出来图片原因及解决办法

    HTML插入图片时,一直显示不出来图片,大体分为两种情况. 一.写了代码,也有图片的空间,但就是没有图片. 二.有图片位置,也有图片框框,但图片就是不显示. 针对图一,应该是路径问题,尽量不要有汉字, ...

  4. 不得不说一下vite

    vite简介 Vite 是一个由原生 ESM 驱动的 Web 开发构建工具.在开发环境下基于浏览器原生 ES imports 开发,在生产环境下基于 Rollup 打包. vite作用 快速的冷启动: ...

  5. 直播预约丨《袋鼠云大数据实操指南》No.4:数据服务API实战解读,助力企业数字化跃迁

    近年来,新质生产力.数据要素及数据资产入表等新兴概念犹如一股强劲的浪潮,持续冲击并革新着企业数字化转型的观念视野,昭示着一个以数据为核心驱动力的新时代正稳步启幕. 面对这些引领经济转型的新兴概念,为了 ...

  6. tensor_scatter_add算子异同点

    技术背景 在MindSpore的ops下实现了一个tensor_scatter_add算子.这个算子的作用为,例如给定一个shape为(1,2,3,4)的原始tensor,因为这个tensor有4个维 ...

  7. VisualStudioCode 创建Vue 3.0 项目

    https://vitejs.cn/guide/#%E6%90%AD%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA-vite-%E9%A1%B9%E7%9B%AE第一步npm ...

  8. C# WInForm 各种控件的移动

    groupPrint.MouseDown += GroupBox1_MouseDown; #region 弹出层移动        [System.Runtime.InteropServices.Dl ...

  9. centos8 yum替换阿里源

    解决centos7使用yum安装mysql 下载速度慢的问题 挺好用的,之前用腾讯云安装了半天,太慢了,改过之后速度快多了. 1.首先备份系统自带yum源配置文件/etc/yum.repos.d/Ce ...

  10. OGSM 从上到下逐级分解策略:从战略目标到部门计划的标准化落地路径

    商界大战如火如荼,想要在竞争激烈.变幻莫测的市场环境中脱颖而出,战略规划和经营计划绝对必不可少! 别慌,OGSM(Objective, Goals, Strategies, Measures)就是从战 ...