学习任务:

视频学习Java逻辑运算符

动手测试Java逻辑运算符案例

Java逻辑运算符可以将多个关系表达式连接起来组成复杂的逻辑表达式,逻辑表达式的结果是boolean类型,常用于条件判断语句中,使用逻辑运算符可以实现较为复杂的判断语句,逻辑运算符如下:

image-20200731224945376

从上表可以看出逻辑运算符的操作数都是boolean型。

&:逻辑与,两个操作数都为true结果才为true,否则为false

|:逻辑或,两个操作数只要有一个true结果就为true,否则为false

^:逻辑异或,两个操作数只要有不一样结果就为true,否则为false

!:逻辑非,真的非是假,假的非是真

例子:

/**
 * 	逻辑运算符测试
 * @author 攀博课堂(www.pbteach.com)
 *
 */
public class OperatorDemo6 {
	public static void main(String[] args) throws InterruptedException {
		int a = 2;
		int b = 3;
		int c = 4;
		
		//&逻辑与,两个操作数都为true结果才为true,否则为false
		System.out.println((a > b) & (a > c)); 
		System.out.println((a > b) & (a < c)); 
		System.out.println((a < b) & (a > c)); 
		System.out.println((a < b) & (a < c)); 
		System.out.println("------------------------------");
		
		//|逻辑或,两个操作数只要有一个true结果就为true,否则为false
		System.out.println((a > b) | (a > c)); 
		System.out.println((a > b) | (a < c)); 
		System.out.println((a < b) | (a > c)); 
		System.out.println((a < b) | (a < c)); 
		System.out.println("------------------------------");
		
		//^逻辑异或,两个操作数只要有不一样结果就为true,否则为false
		System.out.println((a > b) ^ (a > c)); 
		System.out.println((a > b) ^ (a < c)); 
		System.out.println((a < b) ^ (a > c)); 
		System.out.println((a < b) ^ (a < c));
		System.out.println("------------------------------");
		
		//!逻辑非,真的非是假,假的非是真,一个数非两次还是原来的数
		System.out.println(!(a > b)); 
		System.out.println(!(a < b)); 
		System.out.println(!!(a > b)); 
		System.out.println(!!!(a > b)); 
	}
}

结果:

false
false
false
true
------------------------------
false
true
true
true
------------------------------
false
true
true
false
------------------------------
true
false
false
true

逻辑非!是单目运算符(即只一个操作数),它是自右向左结合 :

!!!(a > b)
首先计算括号中a>b的值为false
再计算!false,结果为true
再计算!true,结果为false
最后计算!false,结果为true
提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题