Java逻辑运算符(&&、||和!)

逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。

逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表 1 所示。

表 1 逻辑运算符的用法、含义及实例

运算符

用法

含义

说明

实例

结果

&&

a&&b

短路与

ab 全为 true 时,计算结果为 true,否则为 false。

2>1&&3<4

true

||

a||b

短路或

ab 全为 false 时,计算结果为 false,否则为 true。

2<1||3>4

false

!

!a

逻辑非

a 为 true 时,值为 false,a 为 false 时,值为 true

!(2>4)

true

|

a|b

逻辑或

ab 全为 false 时,计算结果为 false,否则为 true

1>2|3>5

false

&

a&b

逻辑与

ab 全为 true 时,计算结果为 true,否则为 false

1<2&3<5

true

  • && 与 & 区别:如果 a 为 false,则不计算 b(因为不论 b 为何值,结果都为 false)

  • || 与 | 区别:如果 a 为 true,则不计算 b(因为不论 b 为何值,结果都为 true)

注意:短路与(&&)和短路或(||)能够采用最优化的计算方式,从而提高效率。在实际编程时,应该优先考虑使用短路与和短路或。

结果为 boolean 型的变量或表达式可以通过逻辑运算符结合成为逻辑表达式。逻辑运算符 &&、|| 和 !按表 2 进行逻辑运算。

表 2 用逻辑运算符进行逻辑运算

a

b

a&&b

a||b

!a

true

true

true

true

false

false

true

false

true

true

true

false

false

true

false

false

false

false

false

true

逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。

下面是一些使用逻辑运算符的示例。其中,第一行语句用于判断 x 的值是否大于 0 且小于或等于 100,只有两个条件同时成立结果才为真(true)。第二行语句用于判断 y 的值是否能被 4 或者 3 整除,只要有一个条件成立,结果就为真(true)。第三行语句先比较 x 和 y,再将比较结果取反,即如果 x 大于 y 成立,则结果为假(false),否则为真(true)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值