System.out.println("-----字面量逻辑运算-----"); //字面量逻辑运算 //与 System.out.println(true & true);//TRUE System.out.println(true & false);//FALSE System.out.println(false & true);//FALSE System.out.println(false & false);//FALSE //或 System.out.println(true | true);//TRUE System.out.println(true | false);//TRUE System.out.println(false | true);//TRUE System.out.println(false | false);//FALSE //非 System.out.println(!true);//FALSE System.out.println(!false);//TRUE //异或 System.out.println(true ^ true);//FALSE System.out.println(true ^ false);//TRUE System.out.println(false ^ true);//TRUE System.out.println(false ^ false);//FALSE System.out.println("-----变量逻辑运算-----"); //变量逻辑运算 boolean first = true; boolean second = false; //与 System.out.println(first & second);//FALSE //或 System.out.println(first | second);//TRUE //非 System.out.println(!first);//FALSE System.out.println(!second);//TRUE //异或 System.out.println(first ^ second);//TRUE System.out.println("-----表达式逻辑运算-----"); //表达式逻辑运算 int one = 5; int two = 3; //与 System.out.println((one > two) & (10 < 20));//TRUE //或 System.out.println((one > two) | (one != 0) | (two == 5));//TRUE | TRUE | FALSE 结果:TRUE //非 System.out.println(!(one > two));//FALSE System.out.println(!(one < two));//TRUE //异或 System.out.println((one < two) ^ (one > two));//FALSE ^ TRUE 结果是:TRUE
&:逻辑与,只要有一边是false,结果就是false
|:逻辑或,只要有一边是true,结果就是true
!:逻辑非,如果是true,结果是false;如果是false;结果是true。结果值取相反道理。
^:异或,两边相同就是false,两边不同就是true;
&&:短路与,只要左边运算结果为false,右边代码就不会执行了,结果就是false
||:短路或,只要左边运算结果为true,右边代码就不会执行了,结果就是true