Java 简析 “&&短路与” 和 “&逻辑与”,“ || 短路或” 和 “ || 逻辑或” 的主要区别

“ &&短路与 ” 和 “ & 逻辑与 ”

名称语法规则
&&短路与条件1&&条件2两者为true,结果为true
& 逻辑与条件1 & 条件2两者为true,结果为true
  • 主要区别
  1. &&短路与:如果条件1为false,则不会继续判断条件2,结果为false, 效率高
  2. & 逻辑与:无论条件1是否为false,都会继续判断条件2,结果为false,效率低

  • “ &&短路与 ” 示例代码:
  • 易错点:
    ++y : 先自增再比较
    y++ : 先比较再自增
    “ = ” 是赋值 , “==” 才是比较*

public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int x = 1;
		int y = 2;
		if(x < 0 && ++y < 10) //条件1:x < 0 为false,“&&短路与”不再往后判断
		{
			System.out.println("give the thumbs-up");//if(true),执行这条语句
		}
		System.out.println("x="+x+" "+"y="+y);//条件2 “++y < 10” 没有执行
	}

}

运行结果:
在这里插入图片描述


  • “ & 逻辑与 ” 示例代码:
public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int x = 1;
		int y = 2;
		if(x < 0 & ++y < 10) //无论条件是否为false,“&&短路与”仍旧往后判断
		{
			System.out.println("give the thumbs-up");//if(true),执行这条语句
		}
		System.out.println("x="+x+" "+"y="+y);//条件2 “++y < 10” 得到执行
	}

}

运行结果:
在这里插入图片描述


“ || 短路或 ” 和 “ | 逻辑或 ”

名称语法规则
||条件1 || 条件2其中之一为true,结果为true
|条件1 | 条件2其中之一为true,结果为true
  • 主要区别
  1. “ || 短路或 ” :如果条件1为true,则不会继续判断条件2,结果为true, 效率高
  2. “ | 逻辑或 ”:无论条件1是否为true,都会继续判断条件2,结果为true,效率低

  • “ || 短路或 ” 示例代码:
public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int x = 1;
		int y = 2;
		if(x < 10 || ++y > 0) //条件1“ x < 10 ”为true,“||短路或”不再往后判断
		{
			System.out.println("give the thumbs-up");//if(true),执行这条语句
		}
		System.out.println("x="+x+" "+"y="+y);//条件2 “++y < 10” 没有执行
	}

}

运行结果:
在这里插入图片描述


  • “ || 短路或 ” 示例代码:
public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int x = 1;
		int y = 2;
		if(x < 10 | ++y > 0) //无论条件1是否为true,“||短路或”仍旧往后判断
		{
			System.out.println("give the thumbs-up");//if(true),执行这条语句
		}
		System.out.println("x="+x+" "+"y="+y);//条件2 “++y < 10” 得到执行
	}

}

运行结果:
在这里插入图片描述


文章末尾

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值