逻辑与和或,及短路与和或的区别证明

//逻辑或|和短路或||的区别:
//逻辑或: 一个为真,则为真  
//短路或: 一个为真,则为真 
//当第一个式子成立时有区别;逻辑或仍然会执行后面的,短路或则不会
证明思路:先满足第一个式子成立,即(y<x);可以根据判断输出的结果c和d有没有进行赋值成false,即可判断短路或有没有执行后面的语句。

public class Test {
	public static void main(String[] args){
		int y = 11;
		int x = 12;
		boolean c=true;
		System.out.println(y<x|(c=false));//得到的结果是true,因为逻辑或是一真则为真
		System.out.println("c---"+c);//输出的是false,因为逻辑或继续执行了后面的语句,c被赋值为false.
		boolean d=true;
		System.out.println(y<x||(d=false));//输出的是true,因为短路或是一真则为真
		System.out.println("d---"+d);//输出的是true,因为短路或没有值后面的d赋值过程,所以这一步没有执行,d还是true
		System.out.println("---------------");
           }
}





//逻辑与: 一个为假,则为假  
//短路与: 一个为假,则为假 
//短路与和逻辑与的区别:
//当第一个式子不成立时有区别;逻辑与仍然会执行后面的,短路与则不会
证明思路:先满足第一个式子不成立,即(y>x);可以根据判断输出的结果c和d有没有进行赋值成true,即可判断短路或有没有执行后面的语句
public class Test {
	public static void main(String[] args){
		int y = 11;
		int x = 12;
		boolean c=false;
		System.out.println(y>x&(c=true));//输出false,因为逻辑与是一假则为假
		System.out.println("c---"+c);//输出true,逻辑与会继续执行后面的语句,c被赋值true
		boolean d=false;
		System.out.println(y>x&&(d=true));//输出false,因为短路与是一假则为假
		System.out.println("---"+d);//输出false,短路与没有执行后面的语句,所以d没有被赋值true
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值