当前位置: 首页 > article >正文

Java基础之常见运算符

常见运算符规则图
在这里插入图片描述

一、&与&&的区别

Java中&和&&都是逻辑与,需要左右两边同时满足条件才可以得到true的结果。但是,它们之间也有区别:
&运算符有两种用法:(1)按位与;(2)逻辑与。
&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&&之所以称为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。
注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。

1、&&也叫短路与,当&&左边的条件不满足时,就不会判定右边的条件。而&不一样,无论‘&’左边的条件是否满足,它都会判定右边的条件。
比如:

int a = 2;
1>2? && a+1>2?

2、&可用于位运算,当左右两边的条件不是布尔型,而是数字时,它会进行位运算。
如:2 & 3就是合法的,会进行位运算。
n&1:与操作,判断 n 二进制最右一位是否为 1 。

/ 若等于1,表示最右一位是1// 否则是0.
if ((n & 1) == 1) {
    ...
}
//记得判断中的括号不能省略,否则会优先运算1==1,导致报错。

n&1常用来判断n是奇数还是偶数。

if (n & 1) == 1):
	n为奇数
if (n & 1) == 0):
	n为偶数 

二、>>和<<运算符的计算方法

n>>1:移位操作,删除n二进制的最右一位,也就整体向右移动一位。

n = n>>1;
// 简写如下
n >>= 1;

举个例子:
10>> 1的结果是5,计算方法:10/(2)=5 取整后等于5
10>>2 的结果是2,计算方法:10/(22)=2.5 取整后等于2
10>>3 的结果是1,计算方法:10/(2
2*2)=1.25 取整后等于1

10<<1的结果是20,计算方法:102=20
10<<2的结果是40,计算方法:10
22=40
10<<3 的结果是8 0,计算方法:10
222 =8 0


http://www.kler.cn/a/1234.html

相关文章:

  • 关于智能个人生活助手的一些想法
  • 计算机网络之---局域网
  • 计算机网络 (23)IP层转发分组的过程
  • 【C++习题】20. 两个数组的交集
  • 日语IT用语笔记
  • 【网络协议】开放式最短路径优先协议OSPF详解(四)
  • 77.qt qml-QianWindow-V1版本界面讲解
  • @JsonFormat与@DateTimeFormat
  • go语言如何使用new构造Map
  • 【技术方案】常见库存设计方案-各种方案对比总有一个适合你
  • 百度的文心一言 ,没有想像中那么差
  • 西安石油大学C语言期末重点知识点总结
  • 链表 算法
  • 盖子的c++小课堂——第十五讲:基础排序
  • Linux: 以太网 PHY 驱动简析
  • 2023年最新最全 VSCode 插件推荐
  • Python中eval与exec的使用及区别
  • 前端性能优化
  • UE实现建筑分层抽屉展示效果
  • python实现自动手势识别代码
  • JavaWeb《一》概念、服务器部署及servlet
  • 在我的MacBook上捣鼓ESP8266
  • TypeScript(六)函数
  • Leetcode138. 复制带随机指针的链表
  • 【十二天学java】day01-Java基础语法
  • HTTP报文数据检测与分类方案总结