小程序教你深刻理解&&与&, ||和|

本文通过实例详细解析了Java中&&、||、&和|四种逻辑操作符的区别,展示了它们在条件判断中的行为差异。

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

面试中,经常遇到最简单的试题,但是我们经常回答错,比如||和|的区别,我们来小小探讨一下。

众所周知,&&和||在Java和PHP中都是逻辑操作符,也叫条件操作符,
条件与”:x和y均为true,取值是true,否则取值是false

&和&&都需要两个操作数的值都是true时,才取值true,但是两个操作符还是有区别的。下面我们通过几个简单的小例子深入实践一下
int x = 1;
		int y = 1;
		if(x--==2&&y++==1){
			System.out.println("x="+x+" y="+y);
			System.out.println("这是执行的if语句");
		}
		else{
			System.out.println("x="+x+" y="+y);
			System.out.println("这是执行的else语句");
		}
程序的输出结果为:
x=0 y=1
这是执行的else语句
以上示例说明了当A条件不满足的时候,条件B便不再执行,
//即没有执行y++故y値仍然输出1
int x1 = 1;
		int y1 = 1;
		if(x1--==2&y1++==1){
			System.out.println("x1="+x1+" y1="+y1);
			System.out.println("这是执行的if语句");
		}
		else{
			System.out.println("x1="+x1+" y1="+y1);
			System.out.println("这是执行的else语句");
		}

程序的输出结果为:
x1=0 y1=2
这是执行的else语句
以上示例说明了当条件A不满足的时候条件B依旧执行判断。故执行
了条件else语句。
int x2 = 1;
		int y2 = 1;
		if(x2--==1||y2++==2){
			System.out.println("x2="+x2+" y2="+y2);
			System.out.println("这是执行的if语句");
		}
		else{
			System.out.println("x2="+x2+" y2="+y2);
			System.out.println("这是执行的else语句");
		}

程序的输出结果为:
x2=0 y2=1
这是执行的if语句
当条件A满足的时候便不再判断B条件,即没有执行y2++语句
int x3 = 1;
		int y3 = 1;
		if(x3--==1|y3++==2){
			System.out.println("x3="+x3+" y3="+y3);
			System.out.println("这是执行的if语句");
		}
		else{
			System.out.println("x3="+x3+" y3="+y3);
			System.out.println("这是执行的else语句");
		}

程序的输出结果为:
x3=0 y3=2
这是执行的if语句
当逻辑运算符为|时,不管条件A成立与否,条件B都将进行判断。

下面请思考一下,下面的小程序的输出结果是什么?

int m=1,n=1,z=1;
		if(m--==1&&n++==1||z++==1){
			System.out.println("m="+m+" n="+n+" z"+z);
		}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值