逻辑运算符&&、&、||和|的区别

运算符|和||以及&和&&的区别

逻辑运算符: &, |, ^, !
  • &(与): 只要有一边为fale, 那么就是false
  • |(或): 只要有一边为true, 那么就是true
  • ^(异或): 只要是相同的boolean值, 那么就是false, 不相同才是true
逻辑运算符(双与, 双或): && ||
  • 解释: 双与和双或 得到的结果 和 单与和单或 是完全一样的
|和||以及&和&&两者的区别

&& 和 & :

&& 一旦判断到左边是false之后, 右边就不参与运算了

&: 不管左边是true还是false, 右边都参与运算

|| 和 |:

|| 一旦判断左边是true之后, 右边就不参与运算了

| 不管左边是true还是false, 右边都参与运算

代码分析:

public class Demo

{     
	private static int j = 0; 
	private static boolean methodB(int k)
	{
		j += k; 
		return true; 
	}
	public static void methodA(int  i)
	{ 
		boolean b;   
		b = i < 10 | methodB (4); 
		b = i < 10 || methodB (8); 
	}
	public static void main (String args[] )
	{
		methodA (0); 
		System.out.println(j);
	} 
}

运行结果为4,为什么不为4和8呢,因为逻辑或只要左边的结果为true,右边就不参与运算了,所以没有调用到methodB (8)的方法。

总结

面试的时候这个点要小心,但是如果做开发的时候,还是用&&和||运算符比较好,这样可以提高代码的效率,当然前提是程序猿需要细心。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值