Java基础(四):逻辑运算符和位运算符
Java基础(四):逻辑运算符和位运算符
Java基础系列文章Java基础(一):语言概述Java基础(二):原码、反码、补码及进制之间的运算Java基础(三):数据类型与进制Java基础(四):逻辑运算符和位运算符Java基础(五):流程控制语句Java基础(六):数组Java基础(七):面向对象编程Java基础(八):封装、继承、多态性Java基础(九):Object 类的使用Java基础(十
Java基础(四):逻辑运算符和位运算符
Java基础系列文章
Java基础(一):语言概述 | Java基础(二):原码、反码、补码及进制之间的运算 | Java基础(三):数据类型与进制 | Java基础(四):逻辑运算符和位运算符 |
---|---|---|---|
Java基础(五):流程控制语句 | Java基础(六):数组 | Java基础(七):面向对象编程 | Java基础(八):封装、继承、多态性 |
Java基础(九):Object 类的使用 | Java基础(十):关键字static、代码块、关键字final | Java基础(十一):抽象类、接口、内部类 | Java基础(十二):枚举类 |
Java基础(十三):注解(Annotation) | Java基础(十四):包装类 | Java基础(十五):异常处理 | Java基础(十六):String的常用API |
Java基础(十七):日期时间API | Java基础(十八):java比较器、系统相关类、数学相关类 | Java基础(十九):集合框架 | Java基础(二十):泛型 |
Java基础(二十一):集合源码 | Java基础(二十二):File类与IO流 | Java基础(二十三):反射机制 | Java基础(二十四):网络编程 |
Java基础(二十五):Lambda表达式、方法引用、构造器引用 | Java基础(二十六):Java8 Stream流及Optional类 |
基本语法
- 逻辑运算符,操作的都是boolean类型的变量或常量,而且运算得结果也是boolean类型的值
- 运算符说明:
- & 和 &&:表示
"且"
关系,当符号左右两边布尔值都是true时,结果才能为true。否则,为false - | 和 || :表示
"或"
关系,当符号两边布尔值有一边为true时,结果为true。当两边都为false时,结果为false - ! :表示
"非"
关系,当变量布尔值为true时,结果为false。当变量布尔值为false时,结果为true - ^ :当符号左右两边布尔值
不同
时,结果为true
。当两边布尔值相同
时,结果为false
- 理解:
异或,追求的是“异”!
- 理解:
- & 和 &&:表示
- 逻辑运算符用于连接布尔型表达式,在Java中不可以写成 < x < 6,应该写成x > & x < 6
- 区分“&”和“&&”:
- 相同点:如果符号左边是true,则二者都执行符号右边的操作
- 不同点:
- & : 如果符号左边是false,则继续执行符号右边的操作
- && :如果符号左边是false,则不再继续执行符号右边的操作
- 区分“|”和“||”:
- 相同点:如果符号左边是false,则二者都执行符号右边的操作
- 不同点:
- | : 如果符号左边是true,则继续执行符号右边的操作
- || :如果符号左边是true,则不再继续执行符号右边的操作
- 位运算符的运算过程都是基于二进制的补码运算
基本语法
1、左移:<<
- 运算规则:在一定范围内,数据每向左移动一位,相当于原数据*2。(正数、负数都适用)
<<4 类似于 *2的4次幂 => *16 => 48
-<<4 类似于 -*2的4次幂 => -*16 => -48
代码语言:javascript代码运行次数:0运行复制案例: 高效的方式计算2 * 8的值(经典面试题)
答案:2 << 、 8 << 1
2、右移:>>
- 运算规则:在一定范围内,数据每向右移动一位,相当于原数据/2。(正数、负数都适用)
- 【注意】如果不能整除,
向下取整
69>>4 类似于 69/2的4次 = 69/16 =4
-69>>4 类似于 -69/2的4次 = -69/16 = -5
、无符号右移:>>>
- 运算规则:往右移动后,左边空出来的位直接补0。(正数、负数都适用)
69>>>4 类似于 69/2的4次 = 69/16 =4
-69>>>4 结果:26845451
4、按位与:&
- 运算规则:对应位都是1才为1,否则为0
- 1 & 1 结果为1
- 1 & 0 结果为0
- 0 & 1 结果为0
- 0 & 0 结果为0
9 & 7 = 1
-9 & 7 = 7
5、按位或:|
- 运算规则:对应位只要有1即为1,否则为0
- 1 | 1 结果为1
- 1 | 0 结果为1
- 0 | 1 结果为1
- 0 & 0 结果为0
9 | 7 //结果: 15
-9 | 7 //结果: -9
6、按位异或:^
- 运算规则:对应位一个为1一个为0,才为1,否则为0
- 1 ^ 1 结果为0
- 1 ^ 0 结果为1
- 0 ^ 1 结果为1
- 0 ^ 0 结果为0
9 ^ 7 //结果为14
-9 ^ 7 //结果为-16
7、按位取反:~
- 运算规则:对应位为1,则结果为0;对应位为0,则结果为1
- ~0就是1
- ~1就是0
~9 //结果:-10
~-9 //结果:8
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-20 18:30:31
推荐阅读
留言与评论(共有 20 条评论) |
本站网友 315曝光汽车 | 28分钟前 发表 |
结果为false | |
本站网友 回流焊 | 15分钟前 发表 |
代码块 | |
本站网友 缺陷汽车产品召回管理规定 | 1分钟前 发表 |
左移:<<运算规则:在一定范围内 | |
本站网友 龅牙怎么矫正 | 4分钟前 发表 |
结果为false | |
本站网友 wose | 29分钟前 发表 |
结果为false 理解:异或 | |
本站网友 代码如诗 | 0秒前 发表 |
负数都适用)【注意】如果不能整除 | |
本站网友 笑里藏刀 | 22分钟前 发表 |
才为1 | |
本站网友 王太华 | 14分钟前 发表 |
Java基础(四):逻辑运算符和位运算符 Java基础系列文章Java基础(一):语言概述Java基础(二):原码 | |
本站网友 三阳路租房 | 9分钟前 发表 |
结果为false! :表示"非"关系 | |
本站网友 电波系是什么意思 | 7分钟前 发表 |
Java基础(四):逻辑运算符和位运算符 Java基础系列文章Java基础(一):语言概述Java基础(二):原码 | |
本站网友 西安西郊房价 | 27分钟前 发表 |
则结果为1 ~0就是1~1就是0代码语言:javascript代码运行次数:0运行复制~9 //结果:-10代码语言:javascript代码运行次数:0运行复制~-9 //结果:8本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 百优解 | 4分钟前 发表 |
分享自作者个人站点/博客 | |
本站网友 华苑宾馆 | 17分钟前 发表 |
否则为0 1 | 1 结果为11 | 0 结果为10 | 1 结果为10 & 0 结果为0代码语言:javascript代码运行次数:0运行复制9 | 7 //结果: 15代码语言:javascript代码运行次数:0运行复制-9 | 7 //结果: -96 | |
本站网友 北京社会保险查询 | 21分钟前 发表 |
构造器引用Java基础(二十六):Java8 Stream流及Optional类一 | |
本站网友 遵义保利未来城市 | 15分钟前 发表 |
Java基础(四):逻辑运算符和位运算符 Java基础系列文章Java基础(一):语言概述Java基础(二):原码 | |
本站网友 乳胶床垫多少钱 | 12分钟前 发表 |
结果为false! :表示"非"关系 | |
本站网友 顺德人民医院 | 27分钟前 发表 |
(正数 | |
本站网友 东方肝胆医院 | 8分钟前 发表 |
按位取反:~运算规则:对应位为1 | |
本站网友 ret | 12分钟前 发表 |
则结果为1 ~0就是1~1就是0代码语言:javascript代码运行次数:0运行复制~9 //结果:-10代码语言:javascript代码运行次数:0运行复制~-9 //结果:8本文参与 腾讯云自媒体同步曝光计划 |