Java中的逻辑运算符
2019-02-24 本文已影响0人
EngineerPan
- & 逻辑与(运算符两边都为true结果才是true)
Boolean a = true, b = false;
System.out.println(a & b);
- | 逻辑或(运算符两边只要有一边为true结果就是true)
Boolean a1 = false, b1 = true;
System.out.println(a1 | b1);
- ! 逻辑非(对运算符右边的变量进行取反)
Boolean a2 = true;
System.out.println(!a2);
- ^ 逻辑异或(运算符两边不同为true,相同为false)
Boolean a3 = false, b3 = true;
System.out.println(a3 ^ b3);
- && 逻辑与(具有短路特性:只要运算符左边能得出整个逻辑表达式的结果那么运算符右边的将不再进行计算;和 & 的差别就是:如果运算符是 & 的话,不管运算符左边能不能得出整个逻辑表达式的结果,运算符右边的将继续进行计算)
int a4 = 9, b4 = 10;
System.out.println(a4++ > 10 && --b4 < 9);//false
System.out.println("a4" + a4);//10
System.out.println("b4" + b4);//10;如果中间的逻辑运算符是 & 的话,b4 = 9;
- || 逻辑或(具有短路特性:只要运算符左边能得出整个逻辑表达式的结果那么运算符右边的将不再进行计算;和 | 的差别就是:如果运算符是 | 的话,不管运算符左边能不能得出整个逻辑表达式的结果,运算符右边的将继续进行计算)
int a5 = 9, b5 = 10;
System.out.println(a5++ > 4 | --b5 < 9);//true
System.out.println("a5" + a5);//10
System.out.println("b5" + b5);//10;如果中间的逻辑运算符是 | 的话,b5 = 9;