逻辑运算符中的短路与&&,短路或||,逻辑与&,逻辑或|;条件运算符

1.短路与&&和逻辑与&:

&&运算规律:只有当&&左右两边的表达式同时为true,&&运算结果为true

public static void main(String[] args) {
		        // true && true-->true
				boolean result1 = true && true;
				System.out.println("true&&true:" + result1);// true&&true:true

				// true && false-->true
				boolean result2 = true && false;
				System.out.println("true&&false:" + result2);// true&&false:false

				// false && true-->true
				boolean result3 = false && true;
				System.out.println("false&&true:" + result3);// false&&true:false

				// fasle && fasle-->false
				boolean result4 = false && false;
				System.out.println("false&&false:" + result4);// false&&false:false
}

&运算规律:只有当&左右两边的表达式同时为true,&运算结果为true

public static void main(String[] args) {

				// true & true-->true
				boolean result5 = true & true;
				System.out.println("true&true:" + result5);// true&true:true

				// true & false-->true
				boolean result6 = true & false;
				System.out.println("true&false:" + result6);// true&false:false

				// false & true-->true
				boolean result7 = false & true;
				System.out.println("false&true:" + result7);// false&true:false

				// fasle & fasle-->true
				boolean result8 = false & false;
				System.out.println("false&false:" + result8);// false&false:false
	}

&&和&的区别:
        &&具有短路功能,当&&左边表达式为false的时候,直接判断整个&&运算结果为false,&&右边不再进行计算
   &不具有短路功能,不管&左边表达式的结果为true还是false,&右边表达式都要进行计算 

2.短路或 || 和逻辑或 | :

||运算规律:只要||左右两边有一个为true,||运算结果为true

public static void main(String[] args) {
		// true || true-->true
				boolean result1 = true || true;
				System.out.println("true||true:" + result1);// true||true:true

				// true || false-->true
				boolean result2 = true || false;
				System.out.println("true||false:" + result2);// true||false:true

				// false || true-->true
				boolean result3 = false || true;
				System.out.println("false||true:" + result3);// false||true:true

				// fasle || fasle-->false
				boolean result4 = false || false;
				System.out.println("false||false:" + result4);// false||false:false
				

	}


 |运算规律:只要|左右两边有一个为true,|运算结果为true

public static void main(String[] args) {
		
				// true | true-->true
				boolean result5 = true | true;
				System.out.println("true|true:" + result5);// true|true:true

				// true | false-->true
				boolean result6 = true | false;
				System.out.println("true|false:" + result6);// true|false:true

				// false | true-->true
				boolean result7 = false | true;
				System.out.println("false|true:" + result7);// false|true:true

				// fasle | fasle-->true
				boolean result8 = false | false;
				System.out.println("false|false:" + result8);// false|false:false

	}

||和|的区别:
          ||具有短路功能,当||左边表达式为true的时候,直接判断整个||运算结果为true,||右边不再进行计算
         |不具有短路功能,不管|左边表达式的结果为true还是false,|右边表达式都要进行计算 

3.条件运算符(conditional operator)有时候也称为三元运算符(ternary operator,或者trinary operator),因为它是唯一需要 3 个操作数的运算符:

条件 ? 表达式1 : 表达式2

x < 0 ? y = 10 : z = 20;

(1) 如果表达式1的值为真(非0值),则表达式的值是表达式2的值;

(2) 如果表达式1的值为假(0值),则表达式的值是表达式3的值

嵌套条件运算符:
     语法规则:
     条件1?(条件2?表达式1:表达式2):(条件3?表达式3:表达式4);
     执行规律:
     条件1为true,继续判断条件2,条件2为true,执行表达式1,条件2为false,执行表达式2
     条件1为false,继续判断条件3,条件3为true,执行表达式3,条件3为false,执行表达式4

        

	public static void main(String[] args) {
		
		
		//获取3个数中的最大值或者最小值
		int a = 10;
		int b = 30;
		int c = 20;
		
		int max =a>b?(a>c?a:c):(b>c?b:c);
		System.out.println("最大值:"+max);
		
		int min = a>b?(b>c?c:b):(a>c?c:a);
		System.out.println("最小值:"+min);
	}

 

你可能感兴趣的:(大数据)