逻辑运算符 &、&&、|、||之间的区别

1&、&&之间的区别

/*
	测试 & / && 之间的区别
		相同点:
			1.结果都相同:有一个为false,结果就是false
			2.当 & / && 左边的表达式都为true时,右边的表达式都会去执行
		不同点:
			1.当左边的表达式为false时,
					& 依然会执行右边的表达式。如代码中的a = 11
					&& 则不会去执行右边的表达式。如代码中的a = 10
*/
class  Different{
	public static void main(String[] args) {
		int a = 10;
		int b = 11;
		/*
		if ( a == 11 & a++ == 10){
			System.out.println("b = " + b );
		}else {
			System.out.println("a = " + a );	a = 11
		}
		*/
		if ( a == 11 && a++ == 10){
			System.out.println("b = " + b );
		}else {
			System.out.println("a = " + a );	a = 10
		}
	}
}

2.| / ||之间的区别

经过上述& 和 && 代码的演示,触类旁通 | 和 || 之间的区别是:
相同点:
1.结果都相同:有一个为true,结果就是true。
2.当 | 和 || 左边的表达式为false时,右边的表达式都会去执行。
不同点:
1.当 | 和 || 左边的表达式为 true时
| 依然会执行右边的表达式。
|| 则不会去执行右边的表达式。

3.面试题

class 逻辑运算符的面试题 {
	public static void main(String[] args) {
		boolean x = true;
		boolean y = false;
		short z = 42;
		// if (y == true)  // 这里注释的话,Z = 43 因为 y != true,所以第一个if 语句不执行了
		if ( (z++ == 42) && (y = true)){
			z++;
		}
		if ((x = false || ++z == 45 )){
			z++;
		}
		System.out.println("z : " + z);  // z = 46
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值