1.逻辑运算符概述
在数学中,一个数据x,大于3,小于6,我们可以这样来进行表示:3<x<6。
在java中,需要把上面的式子先进行拆解,在进行合并表达。
拆解为:x>3和x<6
合并后:x>3&&x<6
&&其实就是一个逻辑运算符。
我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。
当然,逻辑运算符也可以直接连接布尔类型的常量或者变量。
符号 | 作用 | 说明 |
& | 逻辑与 | a&b,a和b都是true,结果为true,否者为false |
| | 逻辑或 | a|b,a和b都是false,结果为false,否者为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | !a,结果和a 的结果正好相反 |
1 /* 2 逻辑运算符 3 */ 4 5 public class OperatorDemo{ 6 public static void main (String[] args){ 7 //定义变量 8 int i = 10; 9 int j = 20; 10 int k = 30; 11 12 // & 有false则false 13 System.out.println((i>j)&(i>k)); // false&false 14 System.out.println((i<j)&(i>k)); // true&false 15 System.out.println((i>j)&(i<k)); // false&true 16 System.out.println((i<j)&(i<k)); // true&true 17 System.out.println("-------"); 18 19 // | 有true,则true 20 System.out.println((i>j)|(i>k)); // false|false 21 System.out.println((i<j)|(i>k)); // true|false 22 System.out.println((i>j)|(i<k)); // false|true 23 System.out.println((i<j)|(i<k)); // true|true 24 System.out.println("-------"); 25 26 27 // ^ 相同为false,不同为true 28 System.out.println((i>j)^(i>k)); // false^false 29 System.out.println((i<j)^(i>k)); // true^false 30 System.out.println((i>j)^(i<k)); // false^true 31 System.out.println((i<j)^(i<k)); // true^true 32 System.out.println("-------"); 33 34 // ! 非 35 System.out.println((i>j)); // false 36 System.out.println(!(i>j)); // !false 37 38 } 39 }
原文:https://www.cnblogs.com/zhengqiangchen/p/12989826.html