Java基础知识之(三)—— java的逻辑操作符和位操作符

Java千百问_03基本语法(004)_java中的运算符都有哪些 Java提供了丰富的运算符来操纵变量。我们可以把所有的Java操作符为以下几组(除位运算和其它运算符之外,其他几种操作无几乎是java中使用频率最高的语法): 算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、其它运算符 下面来仔细说明。 阅读详情

逻辑操作符:||(与) &&(或) !(非)

 

按位操作符: | (按位与), &(按位或),^(按位异或) 和 ~ (按位非)

 

比较有趣的是逻辑运算符和按位运算符的混用问题,可记忆如下:

1)& | 可以运算boolean量,|| && 却不能运算整数:

 

 

| & 和 || &&都可以运算boolean量,这也是“短路与,短路或”和“非短路,非短路或”的由来(因为可以都可以操作布尔量,所以有可能产生混淆)

但是反之却不成立,因为 || && 很单一,不能操作整数

2)按位操作符——异或 ^ 可以操作boolean量:

 

3)~和!互相不能混用:

 

可以简记如下:

Java四个位运算符中| (按位与), &(按位或),^(按位异或) 和 ~ (按位非),有三个可以去运算布尔量, ~ 不能。

而三个逻辑运算符||(与) &&(或) !(非),所有都只能运算布尔量,不能进行位运算。

 

移位操作符:>>(有符号右移) <<(有符号左移) >>>(无符号右移)

1001 >> 2:1111

1001 >>> 2:0011

1001 << 2:0100

 

 

PS:

java中,逻辑判断条件如if,while必须为boolean/Boolean类型的表达式,这一点和C/C++是不一样的。

在Java中,一般而言,while(a=b)都会报错的(在C/C++中就不会),但是也有例外:当

a,b本身都是boolean/Boolean类型,如下:

即c = d为赋值运算,其返回值为d,仍然是boolean量,同时这也提醒我们,上例中的int类型的while(a = b)出现错误也是因为a = b这个赋值运算符的返回值是int不是boolean。

相关推荐

从零开始写一个RTSP服务器(一)RTSP协议讲解

从零开始写一个RTSP服务器系列 从零开始写一个RTSP服务器(一)不一样的RTSP协议讲解 从零开始写一个RTSP服务器(二)RTP传输H.264(待写) 从零开始写一个RTSP服务器(三)一个传输H.264的RTSP服务器(待写) 从零开始写一个RTSP服务器(四)RTP传输AAC(待写) 从零开始写一个RTSP服务器(五)一个传输AAC的RTSP服务器(待写) 从零开始写一个RTSP服务器(...

JT同学的博客 7万+

Java逻辑运算符

逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 逻辑运算符包括 &&、||、!。其中 && 和 || 是双目运算符,实现逻辑与、逻辑或;!是单目运算符,实现逻辑非。表 1 给出了逻辑运算符的用法、含义及实例。 表1 逻辑运算符的用法、含义及实例 运算符 用法 ...

jijiangpeng的博客 296

o型圈沟槽设计_O型密封圈——详细选型过程及步骤

一、密封圈常用材料二、密封圈常用密封形式密封圈分为活塞密封,活塞杆密封,端面密封,旋转密封。三、O型密封圈的选型规则O型密封圈的尺寸图径向安装O型圈选型(静态和动态运动)活塞杆密封选择适当规格的O形圈时,应该保证其外径(d1+2*d2)至少等于或者大于沟槽外径d6;当选择的O形圈直径d1大于250 mm时, O形圈外径将不能超过沟槽外径的3%;当选择的O形圈直径d1小于250mm时, O形圈外径将...

weixin_39856630的博客 2万+

java基础-操作符-逻辑操作符

java中的操作符:1.操作符接收一个或多个参数,并生成一个新值; 2.有些操作符可以改变操作数本身的值,这被称为副作用,例如自增,自减操作符,这类带有副作用的操作符 的最普遍的用途就是用来产生副作用。但是使用此类操作符生成的值,与没有副作用的操作符生成的值没有什么区别。 3....

weixin_41866473的博客 306

Linux系统监控实战:夜莺监控+categraf采集器配置全流程(附常见问题排查)

本文详细介绍了在Linux系统中使用夜莺监控和categraf采集器进行系统监控的全流程配置,包括环境准备、核心配置文件(如config.toml和procstat.toml)详解、服务集成与验证、高级监控配置实战以及常见问题排查。通过实战案例和优化建议,帮助运维人员快速构建高效的监控体系。

xray4的博客 735

别再只盯着meta包了!盘点R语言中7个元分析工具包的特色与适用场景

本文深入评测了R语言中7个主流元分析工具包(meta、metafor、netmeta、mada、mvmeta、metasens、rmeta)的核心功能与适用场景,帮助研究者根据具体需求精准选型。通过对比表格和实际代码示例,详细解析了各工具包在传统两两比较、网络Meta分析、诊断准确性研究等不同场景下的差异化优势,并提供了性能对比和组合使用建议。

weixin_30736301的博客 296

Java基础之逻辑运算符

逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔型。 逻辑运算符可以针对结果为布尔值的表达式进行运算。如:x &gt; 3 &amp;&amp; y != 0。        运算符“&amp;”和“&amp;&amp;”都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false。当运算符“&amp;”和“&amp;&amp;”的右边为表达式时...

from_heat的博客 1375

使用 Simulink 进行电力电子系统的小信号模型仿真

电力电子系统(Power Electronics System)包括各种功率转换器(如 DC-DC 转换器、逆变器等)。这些设备中的关键组件(如 MOSFET、IGBT、电容器、电感器等)不仅影响系统的性能,还直接关系到系统的稳定性、效率和可靠性。因此,在设计阶段进行详细的建模和仿真至关重要。小信号模型仿真的目的是通过线性化非线性系统来评估其动态特性,包括增益、相位裕度、带宽等指标。通过本教程,我们介绍了如何使用 Simulink 进行电力电子系统的小信号模型仿真。背景介绍。

xiaoheshang_123的博客 480

按位与、或、异或等运算方法

按位与运算符(&amp;) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&amp;0=0;   0&amp;1=0;    1&amp;0=0;     1&amp;1=1;        即:两位同时为“1”,结果才为“1”,否则为0 例如:3&amp;5  即 0000 0011 &amp; 0000 0101 = 0000 0001   因此,3&amp;5的值得...

cargoj的博客 7363

手把手教你学基于 Linux 的 NPU 固件开发-第 10 讲:可靠性设计(RAS)——让系统坚如磐石错误检测、纠正与上报机制(ECC、Parity)

组件推荐保护机制备注HBM/DDRScrubbing必须开启,定期巡检片上 SRAMECC(权重/激活值),Parity(指令)权衡面积与可靠性计算单元ABFT或DMR(关键路径)防止计算逻辑错误片上网络CRC重传保证数据传输完整性系统软件AER 上报CE 监控自动恢复闭环管理,杜绝 SDC运维策略预测性维护Checkpoint变被动为主动核心心法(信任硬件,但必须验证。在纳米尺度下,错误是必然发生的物理现象。

MHD0815的博客 90

Python爬虫教程:抓取社交媒体内容(以Facebook和Instagram为例)

为什么抓取社交媒体内容?品牌分析与监测:通过抓取品牌、产品或服务相关的社交媒体数据,可以获得公众对其的评价,识别市场趋势,制定营销策略。情感分析:分析用户在社交平台上的情感倾向,如对某事件、产品、服务的正面或负面情绪。舆情监控:通过抓取大量社交媒体内容,监测公众对热点事件的反应,发现潜在的社会问题。用户行为分析社交媒体的数据类型:帖子和内容:包括用户发布的文本、图片、视频等。用户互动用户信息:包括用户名、粉丝数、关注数等社交信息。社交媒体的反爬虫机制:API限制。

2201_76125261的博客 1337

《深入探索位操作符:Python、Java与C语言的实现与应用》

深入探索位操作符:Python、Java与C语言的实现与应用

一名普通高校生 1457

亚马逊爬虫实战:中国商家信息(电话)爬取

import os), # 保存图片的路径# 搜索关键词"keywords":["毛巾","衣服"],"product_number": 1000000000000000, # 分页获取数量# 和url一一对应 个数要一样"remarks": ["备注1"],# 以下内容非专业人员请勿更改,请找开发人员更改. 对应的是amazon_product_url_setting文件中名称.},

youbingchen的博客 1523

位操作符(bitwise operator)

位操作符允许我们操作一个基本数据类型中的整数型值的单个“比特(bit)”,即二进制位。 位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。 位操作符来源于 C 语言面向底层的操作,那时我们经常需要直接操纵硬件,设置硬件寄存 器内的二进制位。Java 的设计初衷是嵌入电视机顶盒内,所以这种低级操作仍被保留了下来。 但是,我们可能不会过多地使用到位运算符。

u011282051的专栏 9501

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

逻辑操作符符与按位操作符的这些知识,你必须要知道!

无论何时,都要保持足够的警惕性。比你聪明的人都在努力,再不动起来,我们就老了。欢迎大家扫描下方的二维码关注我的微信公众号,与我一起学习Java。 温故知新 上一节,我们讲了Java中的算术操作符、自增自减操作符以及关系操作符,并通过案例进行了相应的说明。请回答以下几个问题: +/-操作符在作为一元操作符时,它们的作用分别是什么? 假设有变量a,那么a++和++a,其含义...

weixin_30883271的博客 173

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

第三章 操作符

文章目录1.操作符5.算数操作符Random类:6.自动递增和递减7.关系操作符8.短路9.直接常量10.按位操作符如果两个输入位都是1如果输入位的某一个是1,不全是111.位移操作符[无符号]右移操作符(>>>)13.字符串操作符 + 和 +=15.提升17.操作符小节 1.操作符 +、-、*、/ 在最底层,java中的数据时通过使用操作符来操作的 优先级:先乘除,后加减。括号优先级最高 5.算数操作符 取模(%):从整数除法中产生余数 整数除法(/):直接去掉结果的小数位

小名同学 21万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java基础-操作符-按位操作符

java中的操作符:1.操作符接收一个或多个参数,并生成一个新值; 2.有些操作符可以改变操作数本身的值,这被称为副作用,例如自增,自减操作符,这类带有副作用的操作符 的最普遍的用途就是用来产生副作用。但是使用此类操作符生成的值,与没有副作用的操作符生成的值没有什么区别。 3....

weixin_41866473的博客 804

java位操作符_详解Java的位操作符

Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作。如果基本类型是char、byte或者short类型的数值进行移位处理,那么会转化成int类型,再进行移位的处理Java的按位操作符按位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。这个操作符有与(&)、非(~)、或(|)、异...

weixin_39923599的博客 481

JAVA学习-操作符.按位操作符

按位操作符用于对整数类型的数据进行位级别的操作。

weixin_69763181的博客 996

操作符    3.10 按位操作符

3.10 按位操作符 按位操作符用来操作整数基本数据类型中的单个“ 比特 ” (bit),即二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。 按位操作符来源于C语言面向底层的操作,在这种操作中经常需要直接操纵硬件,设置硬件寄存器内的二进制位。 Java的设计初衷是嵌入电视机机顶盒内,所以这种面向底层的操作仍被保...

210

java中单&,单|的意思,按位操作符详述

从事java多年,日常多用&&,||这类逻辑操作符进行业务的编码使用,也是孤陋寡闻,偶然发现还有单&,单|等操作符的使用。查阅资料后得知其就是按位操作符,下面就是Java设计思想中对于这部分描述的原文。 按位操作符用来操作整数基本数据类型中的单个“比特”(bit),即二进制。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。 按位操作符来源于C语言面向底层的操作,在这种操作中经常需要直接操纵硬件,设置硬件寄存器内的二进制位。Java设计的初衷是嵌入电视机机顶盒内,

httpmc2018的博客 1497

Java逻辑操作符——逻辑非、逻辑与、逻辑或和逻辑异或

先上一段java代码,通过具体例子来理解抽象概念 public class 布尔值 { public static void main(String[] args) { boolean 逻辑非的值_测试1 = true; boolean 逻辑非的值_测试2 = false; System.out.println("逻辑非的值_测试1:"+!逻辑非的值_测试1); Syste...

xjlovewjh的博客 3879

移位操作符和位操作符(从概念到相关算法题详解)

关于移位操作符和位操作符的这些小技巧你都知道吗?这里介绍的移位操作符和位操作符,针对的都整型,且针对都是整数在内存中存储的二进制位.

qq_62712350的博客 769

Java【操作符】

算术操作符、位操作符、关系操作符、逻辑操作符、三元条件操作符、赋值操作符

在下的博客 1684

一元操作符、强制类型转换表达式、乘除操作符、加法操作符、移位操作符、关系操作符、判等操作符、位操作符与逻辑操作符、条件与操作符、条件或操作符--运算机制与返回值

这里写目录标题一元操作符前缀递增操作符 ++前缀递增操作符 - -一元加号操作符 +一元加号操作符 -按位取反操作符 ~逻辑取反操作符 !强制类型转换表达式乘除操作符乘法操作符 *除法操作符 /取余操作符 %加减操作符字符串连接操作符 +用于数字类型的加减操作符( + 和 -)移位操作符关系操作符数字比较操作符 <、<=、>和>=类型比较操作符 instanceof判等操作符数字判等操作符 == 和 !=布尔判等操作符 == 和 !=引用判等操作符 == 和 != 表达式就是操作数和

norang的博客 1637

彻底理解java位操作符

无符号右移位操作符“>>>”在将bit串右移位时,从bit串的最左边填充0,这和带符号右移位操作符“>>”不同。“>>”在将bit串右移位时,从bit串的最左边填充原来最左边的位。也就是说,bit串原来最左边的位是符号位,如果为1,则在带符号右移时最左边始终填充1;如果为0,则在带符号右移时最左边始终填充0。  移位操作符的例子见下表。操作                       结果  

技术收藏 1117
上一篇: Java面试基础问题之(十五)—— 堆排序有趣的点
下一篇: 有趣的位运算常识
ProLayman
博客等级 码龄10年 105粉丝 192原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值