Java中的&、&&、

2023-10-27

关于这几个的运算符我一代码的实例来介绍,如下:

1.&、&&、|、||、首先它们都是逻辑运算符,但是&&和||是短路运算符,也就是只判断运算符左边的即可,就可以确定整个表达式的结果了;所以它的执行效率高于&和|,因为这两个运算符需要将表达式中所有的boolean值都判断一遍,值得我们注意的是,这四个运算符的执行结果最终都是一致的(&和&&,|和||)实验代码如下:


package com.my.collection.collections;

public class MoveTest {

	public static void main(String[] args) {
		//右移一位相当于除以2,右移n位相当于除以2^n次方
		int num=10;
//		System.out.println("num右移一位结果:"+(num>>1));//注意要在num>>1加上括号,否则会报错
//		System.out.println("num右移四位结果:"+(num>>4));//num/(2^4)即4/16
		//左移一位相当于乘以2,同上
//		System.out.println("num左移一位的结果:"+(num<<1));//相当于num*2  结果20
//		System.out.println("num左移四位的结果:"+(num<<4));//相当于num*(2^4) 结果160
		
		//按位异或^, 对应二进制位相同结果为0,否则为1
//		System.out.println(1^1);//这是十进制的数字
//		System.out.println(1^1^2);//这是十进制的数字
//		System.out.println(2^3^2);
		//针对&和|和&&和||运算符
		boolean  tag1=true;
		boolean  tag2=false;
		boolean  tag3=true;
		boolean  tag4=false;
		System.out.println(tag1&tag2&tag3);
		System.out.println(tag1|tag3|tag4);
		System.out.println(tag1|tag2);
		System.out.println(tag4&tag3);
		//System.out.println(1^1^4^7^7);//能消除掉的必须是偶数对
	}

}

运行结果
在这里插入图片描述
以上代码中有关于>>、<<、^运算符操作,只是注释了读者可以自行去掉注释运行看结果。另一个关于&和&&,|和||运算的示例代码如下:
下面代码有部分注释,读者可以去掉注释看运行的结果


package com.my.collection.collections;

public class Test2 {

	public static void main(String[] args) {
		//测试短路运算符&&和||,这两个运算符是只要一边出现了,则不用管这个表达式的结果
		int i=9,j=7;
//		if(i>2||++j<90) {
//			//这里i>2成立,所以就不在执行++j操作了,即短路了,j=7,而不是8,因为短路了后面不执行了
//			System.out.println("测试j的值为:"+j);
//		}else {
//			System.out.println("failed");
//		}
		
//		if(i<2||++j<90) {
//			//这里i>2不成立,所以就执行++j操作了,没有短路
//			System.out.println("测试j的值为:"+j);
//		}else {
//			System.out.println("failed");
//		}
		
		/*
		 * 对于|运算符,只要有一个为真的话,最终结果都为真的
		 */
//		if(i>2|++j<90) {
//			//这里i>2成立,因为是|运算符,所以不会短路,即所有的运算表达式都要执行一边,即++j执行了,最终结果表达式为真,所以j为8
//			System.out.println("测试j的值为:"+j);
//		}else {
//			System.out.println("failed");
//		}
		
//		if(i>2|++j>90) {
//			//这里i>2成立,因为是非短路的,所以就执行++j操作了而且只要一个为真最终结果就为真的
//			System.out.println("测试j的值为:"+j);
//		}else {
//			System.out.println("failed");
//		}
		
		/*
		 * 非短路运算符&,要所有的表达式执行完了才能判断真假,而且有一个为假的话,这个表达式结果为假的
		 */
		if(i>2&++j>90) {
			//这里i>2成立,因为是非短路的,所以就执行++j操作了而且只要一个为真最终结果就为真的
			System.out.println("测试j的值为:"+j);
		}else {
			System.out.println("failed");
		}


	}

}

运行结果2
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中的&、&&、 的相关文章

  • 50多个国外的免费Icon图标免费下载网站

    原文出自 帕兰映像 50多个国外的免费Icon图标免费下载网站Icon图标通常应用于对系统的美化和应用程序的UI设计中 但是随着Web2 0的大潮兴起 大而醒目的设计元素也日趋流行 你完全可以把图标应用到网站设计中 比如菜单栏图标 分类图标
  • Linux安装pip没有权限,linux – 从没有root的python3远程安装pip

    我正在尝试通过ssh为远程主机之一安装python3 我没有root访问权限 安装完成了 wget https www python org ftp python 3 7 0 Python 3 7 0 tgz tar xvzf Python
  • C语言——文件的打开和关闭(fopen,fclose函数)

    文章目录 一 为什么使用文件 二 什么是文件 2 1 程序文件 2 2 数据文件 2 3 文件名 三 文件的打开和关闭 3 1文件指针 3 2 文件的打开和关闭 一 为什么使用文件 一般我们写程序时 数据都是存放在内存中 当程序退出后这些数
  • android培训课程!一篇文章教你搞定计算机网络面试,含BATJM大厂

    接触这一行也有很久了 从开始的实习到带团队 中间接触过很多人 前不久身边刚好有人去面试了阿里 抖音等这些公司还成功的面试上了 现在来分享一下面试前需要准备的知识点 很多人去面试之前 不知道会问到那些知识 也不知道要做什么准备 今天我们就来整
  • 利达主机联网接线端子_利达:消防设备电源监控系统接线示意图

    北京利达华信电子有限公司为适应工程设计需要而开发的消防设备电源监控系统符合GB 28184 2011 消防设备电源监控系统 及GB 25506 201 0 消防控制室通用技术要求 等标准 适用于智能楼宇 高层公寓 宾馆 饭店 商厦 工矿企业
  • 关于谷歌浏览器css样式不显示的解决方法

    最近使用IntelliJ IDEA重新回顾html知识 原本使用360浏览器 360浏览器没有这个问题 现在改成使用谷歌浏览器 修改css后运行到谷歌浏览器上 发现并没有显示修改后的效果 本来以为是浏览器有不兼容的问题 后来发现原来谷歌浏览
  • xposed框架安全模式_太极免Root使用Xposed,实现虚拟定位,消息放撤回等神级功能...

    正文 小手壹挥隆重为大家介绍 一款可以免root使用Xposed模块的太极app 下载太极app即可帮助用户实现免root情况下运行Xposed模块 更好的使用辅助插件 太极app是干嘛的 有什么作用 这是一款可以帮助自己手机中应用渡劫的软
  • 动态规划(Dynamic Programming)入门

    前言 算法实验课的题目是一道关于动态规划 Dynamic Programming 的题目 正好借这个机会 学习一下动态规划 Dynamic Programming 动态规划简单介绍 动态规划 Dynamic Programming 简称DP
  • 评分函数和损失函数是什么(知识图谱嵌入KGE)

    一 知识图谱中的评分函数和损失函数 评分函数 评分函数用于计算给定实体和关系之间的匹配度或相似度得分 它接收实体和关系的嵌入表示作为输入 并输出一个分数 该分数反映了实体和关系之间的相关性 评分函数的目标是衡量实体和关系之间的连接程度或关联
  • Quartus ii调试工具之SignalProbe

    下图是quartusii handbook 给出的6个片上调试工具 列出了各自的用途 其中SignalProbe是Quartus ii提供的一个通过外部设备探测FPGA内部信号的一个工具 即把FPGA内部需要探测的信号连接到没有用到的IO管
  • 论文阅读——A Comprehensive Study on Deep Learning-Based 3D Hand Pose Estimation Methods综述阅读2

    3D手势姿态估计综述 本文通过对大量有代表性的论文研究 提出一种基于输入数据模式的新分类法 即RGB 深度或多模态信息 最后 我们展示了在最流行的RGB和基于深度的数据集上的结果 并讨论了这一快速增长领域的潜在研究方向 1 Introduc
  • shiro多realm的spring-boot案例剖析

    shiro多realm整合的spring boot案例剖析 概述 shiro认证的流程主要是通过securityManager调用login Subject subject AuthenticationToken token 方法 实际上委
  • 计算机网络原理 谢希仁(第8版)第四章习题答案

    4 01 网络层向上提供的服务有哪两种 试比较其优缺点 面向连接的和无连接 面向连接优点 通过虚电路发送分组 分组只用填写虚电路编号 分组开销较小 分组按序达到终点 面向连接缺点 一个节点出故障 所有通过该节点的虚电路均不能工作 可靠通信交
  • 什么是JavaBean、bean? 什么是POJO、PO、DTO、VO、BO ? 什么是EJB、EntityBean?

    前言 在Java开发中经常遇到这些概念问题 有的可能理解混淆 有的可能理解不到位 特此花了很多时间理顺了这些概念 不过有些概念实际开发中并没有使用到 可能理解还不够准确 只能靠后续不断纠正了 1 什么是POJO POJO Plain Old
  • RPC 技术及其框架 Sekiro 在爬虫逆向中的应用,加密数据一把梭

    文章目录 什么是 RPC JSRPC Sekiro 优缺点 什么是 RPC RPC 英文 RangPaCong 中文让爬虫 旨在为爬虫开路 秒杀一切 让爬虫畅通无阻 开个玩笑 实际上 RPC 为远程过程调用 全称 Remote Proced
  • LeetCode——036

    Valid Sudoku My Submissions QuestionEditorial Solution Total Accepted 71051 Total Submissions 233215 Difficulty Easy Det
  • AI 大行其道,你准备好了吗?—谨送给徘徊于转行 AI 的程序员

    前言 近年来 随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后 机器学习尤其是深度学习的热潮席卷了整个 IT 界 所有的互联网公司 尤其是 Google 微软 百度 腾讯等巨头 无不在布局人工智能技术和市场 百度 腾讯 阿
  • 学习Javascript闭包(Closure)[非常棒的文章]

    作者 阮一峰 日期 2009年8月30日 闭包 closure 是Javascript语言的一个难点 也是它的特色 很多高级应用都要依靠闭包实现 下面就是我的学习笔记 对于Javascript初学者应该是很有用的 一 变量的作用域 要理解闭
  • 关于论青少年尽早学少儿编程之说

    关于论青少年尽早学少儿编程之说 正如一本书中所描述的一句话 尽早学习编程 是孩子为未来做好准备必不可少的一步 看完这句话之后 给我们的直观印象可能就是 不教孩子学习编程在某种程度上等于不教他们读书写字 这种说法明显是片面的 编程 读书写字
  • 若依系统注册功能

    加油 三步实现注册 前端 后端 分配角色 总结 前端 login vue中打开注册开关 后端 打开数据库sys config表 开启注册功能 分配角色 在SysUserMapper中添加方法 实现方法 在SysUserServiceImpl

随机推荐

  • dialog中二维码显示问题

    由于dialog加载过程会耗费一定时间 因此在dialog中直接调用会导致在一次打开的dialog无法加载二维码 在dialog标签中加入 opened ShowQRCode 属性 opened是dialog动画打开完毕之后的回调 当页面加
  • 计算机网络层提供的面向连接服务还是无连接服务讨论与思考

    概要 在计算机网络领域 网络层应该向运输层提供怎样的服务 面向连接 还是 无连接 曾引起了长期的争论 争论焦点的实质就是 在计算机通信中 可靠交付应当由谁来负责 是网络还是端系统 介绍 有些人认为应当借助于电信网的成功经验 让网络负责可靠交
  • 计算机主机名与用户名区别

    一 主机名概念 主机名就是计算机的名字 计算机名 网上邻居就是根据主机名来识别的 这个名字可以随时更改 从我的电脑属性的计算机名就可更改 用户登陆时候用的是操作系统的个人用户帐号 这个也可以更改 从控制面板的用户界面里改就可以了 这个用户名
  • 1. Inna and Pink Pony

    1 Inna and Pink Pony 首先找出四个边界点 但要注意当横纵坐标等于边界横纵坐标时 需考虑是否会出界 满足以上条件时 考虑横纵坐标移动次数其和为偶数时便可以完成移动 因为正负抵消原则 话不多说 直接上Python代码 n m
  • 解决 CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’问题

    针对使用conda进入虚拟环境时遇到的问题 CommandNotFoundError Your shell has not been properly configured to use conda activate 解决方法 win r
  • 解决Android中使用RecyclerView滑动时底部item显示不全的问题

    感觉这个bug是不是因人而异啊 找了很多文章都没能解决我的问题 包括在RecyclerView上在嵌套上一层RelativeLayout 添加属性android descendantFocusability blocksDescendant
  • 解决“L6200E Symbol xx defined (by xx.o and xx.o)”重复定义问题

    今天来分享一个关于自己之前遇到的一个问题 就是关于重复定义会造成的一个错误 错误提示为 OBJ LCD axf Error L6200E Symbol ascii 1206 multiply defined by lcd user o an
  • C语言每日一题:7.寻找数组中心下标。

    思路一 暴力求解 1 定义一个ps作为中间下标去记录下标值 2 循环下标ps从头到位 定义四个变量分别是left sum left right sum right 3 初始化left ps 1和right ps 1 当ps0 gt 就让su
  • etcd学习和实战:4、Java使用etcd实现服务发现和管理

    etcd学习和实战 4 Java使用etcd实现服务发现和管理 文章目录 etcd学习和实战 4 Java使用etcd实现服务发现和管理 1 前言 2 代码 2 1 服务注册 2 2 服务发现 2 3 运行结果 2 4 问题 3 最后 1
  • 关于SVM的一点笔记

    关于SVM的一点笔记 一 简单了解 1 感知机 perceptron 感知机是一种类似于生物中神经细胞功能的人工神经元 它可以把一个或者多个输入 x 1 x 1 x1 x
  • flask最基础的增删改查实现步骤及代码

    分类序列化器 写入要序列化的字段 user info id fields Integer name fields String 商品序列化器 写入要序列化的字段 goods info id fields Integer name field
  • Spring系列面试题(Spring、SpringMvc、SpringBoot)

    一 springboot自动配置原理 自动装配 简单来说就是自动把第三方组件的Bean装载到Spring IOC器里面 不需要开发人员再去写Bean的配置 在Spring Boot应用里面 只需要在启动类加上 SpringBootAppli
  • 五张图带你理解 RocketMQ 顺序消息实现机制

    大家好 我是君哥 今天聊一聊 RocketMQ 的顺序消息实现机制 在有些场景下 使用 MQ 需要保证消息的顺序性 比如在电商系统中 用户提交订单 支付订单 订单出库这 3 个消息应该保证顺序性 如下图 对于 RocketMQ 来说 主要是
  • Electron桌面开发入门

    1 初始化工作 midir electron demo cd electron demo npm init 到package json 文件下将入口文件修改为main js main main js 并且创建main js文件 electr
  • Java猫和狗(继承,多态,抽象,接口版)上

    Java的继承 抽象 多态 接口的简单应用 我们利用 猫和狗都是动物类 然后猫会抓鱼 狗会看门的这些方法来简单应用一下继承 抽象 多态 接口 简单思路就是 1 定义动物类 2 定义猫 狗类 让他们成为动物的子类 3 编写测试类 继承 使子类
  • PTA L1-016:查验身份证 (python)

    一 题目要求 二 参考代码 sheet 0 1 1 0 2 X 3 9 4 8 5 7 6 6 7 5 8 4 9 3 10 2 w 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 n int input c 0 f
  • ARM单片机FATFS文件系统的移植

    ARM单片机FATFS文件系统的移植 测试效果 前提条件 下载所需源码 FATFS 文件系统 SFUD万能驱动 加入工程 接口驱动 测试代码 FreeRTOS10 0 1 FATFS FF14A SFUD V1 1 0 STM32F103Z
  • 超过2t硬盘分区_大于2T的磁盘怎么分区呢?

    由于购买了磁盘柜专门用作存储 后来考虑到磁盘容量的动态管理 准备采用LVM进行动态扩容管理了 首先让前端挂载机器能够识别到磁盘柜的逻辑卷组 比如 dev sdb 先介绍2种分区表 MBR分区表 MBR含义 主引导记录 所支持的最大卷 2T
  • 6.8过程纹理

    过程纹理也称为自定义纹理 根据计算得出 这个例子使用了位置和原点的距离作为输入参数 并加入了动画 但是和目前的纹理没任何关系 纯手工计算 因为位置是三维的 所以在涉及到纹理的几个地方都要改为三维的 struct RENDEROBJECT D
  • Java中的&、&&、

    关于这几个的运算符我一代码的实例来介绍 如下 1 首先它们都是逻辑运算符 但是 和 是短路运算符 也就是只判断运算符左边的即可 就可以确定整个表达式的结果了 所以它的执行效率高于 和 因为这两个运算符需要将表达式中所有的boolean值都判