逻辑运算符与(&)、或(|)、非(!)、异或(^)及双与(&&)和双或(||)

1 、与(&), 或(|),非(!),异或(^)

package cn.nrsc.demo02;
/*
 * 逻辑运算符: &, |, ^, !
 * &(与):  只要有一边为fale, 那么就是false
 * |(或):  只要有一边为true, 那么就是true
 * ^(异或): 只要是相同的boolean值, 那么就是false, 不相同才是true
 * 解释: 用来连接boolean(关系表达式)表达式,或者是boolean取值都可以, 表达式返回的结果还是一个boolean类型
 * 
 * 
 * 比如你找女朋友有两个条件: 1.长得像凤姐      2.生高180cm
 */
public class Demo03LuoJi {

	public static void main(String[] args) {

		int a = 10;
		int b = 11;	
		int c = 12;
		
		// &
		System.out.println((a > b) & (a < c));// false & true;
		System.out.println((b < c) & (b > a));// true & true; --> true
		 
	    // |
		System.out.println(true | false);// true
		System.out.println(false | false);// false
		System.out.println(true | true);// true
		
		// ^
		System.out.println(true ^ true);// false
		System.out.println(false ^ false);// false
		System.out.println(true ^ false);// true
		
		// !
		System.out.println(!true);// false
		System.out.println(!false);// true
		System.out.println(!!false);// false 
		
		int x = 10;
		int y = 20;
		boolean bool = (x >= y) & (y > 15);
		System.out.println(bool);// false
	}

}

2 、双与(&&)和双或(||)

package cn.nrsc.demo02;
/*
 * 逻辑运算符(双与, 双或): &&   ||
 * 解释: 双与和双或 得到的结果 和 单与和单或 是完全一样的!
 * 
 * 区别: 
 * && 和 & :
 * && 一旦判断到左边是false之后, 右边就不参与运算了
 * &: 不管左边是true还是false, 右边都参与运算
 * 
 * || 和 |
 * || 一旦判断左边是true之后, 右边就不参与运算了
 * |  不管左边是true还是false, 右边都参与运算
 * 
 * 
 * 注意: 对于只是要判断一个表达式的结果来讲, 双与, 双或的计算效率高些!
 * 
 */
public class Demo04LuoJi {

	public static void main(String[] args) {

		int a = 10;
		int b = 11;	
		int c = 12;
		
		// &
		System.out.println((a > b) && (a < c));// false & true;--> false
		System.out.println((b < c) && (b > a));// true & true; --> true
		 
	    // |
		System.out.println(true || false);// true
		System.out.println(false || false);// false
		System.out.println(true || true);// true
		
		System.out.println("===============");
		
		int i = 5;
		int j = 6;
		System.out.println((i > j) && (++j > 3));// false
		System.out.println(j);// 6
		System.out.println((i > j) & (++j > 3));// false
		System.out.println(j);// 7
		
		int x = 10;
		int y = 11;
		System.out.println((x < y) || (++y > 15));// true
		System.out.println(y);// 11
		System.out.println((x < y) | (++y > 15));
		System.out.println(y);// 12
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值