您现在的位置是:首页 > 编程 > 

Java基础(四):逻辑运算符和位运算符

2025-07-20 22:53:10
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。(正数、负数都适用)
代码语言:javascript代码运行次数:0运行复制
<<4  类似于  *2的4次幂 => *16 => 48
代码语言:javascript代码运行次数:0运行复制
-<<4  类似于  -*2的4次幂 => -*16 => -48

案例: 高效的方式计算2 * 8的值(经典面试题)

代码语言:javascript代码运行次数:0运行复制
答案:2 <<  、  8  << 1

2、右移:>>

  • 运算规则:在一定范围内,数据每向右移动一位,相当于原数据/2。(正数、负数都适用)
  • 【注意】如果不能整除,向下取整
代码语言:javascript代码运行次数:0运行复制
69>>4  类似于  69/2的4次 = 69/16 =4
代码语言:javascript代码运行次数:0运行复制
-69>>4  类似于  -69/2的4次 = -69/16 = -5

、无符号右移:>>>

  • 运算规则:往右移动后,左边空出来的位直接补0。(正数、负数都适用)
代码语言:javascript代码运行次数:0运行复制
69>>>4  类似于  69/2的4次 = 69/16 =4
代码语言:javascript代码运行次数:0运行复制
-69>>>4   结果:26845451

4、按位与:&

  • 运算规则:对应位都是1才为1,否则为0
    • 1 & 1 结果为1
    • 1 & 0 结果为0
    • 0 & 1 结果为0
    • 0 & 0 结果为0
代码语言:javascript代码运行次数:0运行复制
9 & 7 = 1
代码语言:javascript代码运行次数:0运行复制
-9 & 7 = 7

5、按位或:|

  • 运算规则:对应位只要有1即为1,否则为0
    • 1 | 1 结果为1
    • 1 | 0 结果为1
    • 0 | 1 结果为1
    • 0 & 0 结果为0
代码语言:javascript代码运行次数:0运行复制
9 | 7  //结果: 15
代码语言:javascript代码运行次数:0运行复制
-9 | 7 //结果: -9

6、按位异或:^

  • 运算规则:对应位一个为1一个为0,才为1,否则为0
    • 1 ^ 1 结果为0
    • 1 ^ 0 结果为1
    • 0 ^ 1 结果为1
    • 0 ^ 0 结果为0
代码语言:javascript代码运行次数:0运行复制
9 ^ 7  //结果为14
代码语言:javascript代码运行次数:0运行复制
-9 ^ 7 //结果为-16

7、按位取反:~

  • 运算规则:对应位为1,则结果为0;对应位为0,则结果为1
    • ~0就是1
    • ~1就是0
代码语言:javascript代码运行次数:0运行复制
~9  //结果:-10
代码语言:javascript代码运行次数:0运行复制
~-9  //结果:8
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-02-24,如有侵权请联系 cloudcommunity@tencent 删除变量基础集合数据java

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1162037.html

相关标签:无
上传时间: 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本文参与 腾讯云自媒体同步曝光计划