2.3.4 逻辑运算符

本文介绍了Java中的逻辑运算符,包括逻辑非、逻辑与和逻辑或。这些运算符用于布尔类型的值,产生布尔结果。逻辑非是单目运算符,而逻辑与(&&)和逻辑或(||)进行短路运算。当逻辑与左侧为false,或逻辑或左侧为true时,不会计算右侧操作数。此外,还讨论了位运算符与逻辑运算符的区别,位运算符不进行短路运算且操作数可以是整数或布尔类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.3.4 逻辑运算符

逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔值。
在这里插入图片描述
逻辑非是唯一的单目运算符,只有一个操作数。

注意:
逻辑运算符&&、|| 进行的是短路运算

  1. 逻辑与 &&,当左操作数为 false 时,结果必然是 false,就不会再去计算右操作数的值;
  2. 逻辑或 ||,当左操作数是 true 时,结果必然是 true,就不会再去计算右操作数的值。

例如:

int a=3;
boolean b=( (4<3) && ((a++)>5));
System.out.println(a);

输出结果是:

3

上面的表达式 ( (4<3) && ((a++)>5)) 中,逻辑与&& 左边的 (4<3) 结果是 false,这种情况下整个表达式的结果必定是 false,就不会再去计算逻辑与&& 右边的 ((a++)>5),这样就不会计算 a++,所以在下面输出a的值还是3。

另外:
有些教材上将 位运算符 &、|、^ 也算做逻辑运算符,其实并不合适,原因:

  1. 逻辑运算符的操作数必须是布尔型,位运算符的操作数可以是整数型或布尔型(其实是将布尔型转换成 0 和 1 再运算,本质还是位运算);
  2. 位运算符不存在短路运算,两边的操作数都会计算出来再进行位运算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值