|
|
@@ -0,0 +1,62 @@
|
|
|
+package sf.j251129;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author WanJl
|
|
|
+ * @version 1.0
|
|
|
+ * @title Demo05
|
|
|
+ * @description
|
|
|
+ * @create 2025/11/29
|
|
|
+ */
|
|
|
+public class Demo05 {
|
|
|
+ /*
|
|
|
+ 逻辑运算符
|
|
|
+ 是吧各个运算的关系表达式连接起来,组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是true或false
|
|
|
+ & 逻辑与 a&b a和b的值都是true,结果就是true,否则结果为false
|
|
|
+ | 逻辑或 a|b a和b的值都是false,结果就是false,否则结果为true
|
|
|
+ ^ 逻辑亦或 a^b,a和b的值不同,结果就是true,相同就是false
|
|
|
+ ! 逻辑非 !a,运算结果和a的值相反
|
|
|
+
|
|
|
+ && 短路与 作用和&相同,但是有短路效果
|
|
|
+ || 短路或 作用和|相同,但是有短路效果
|
|
|
+ */
|
|
|
+ public static void main(String[] args) {
|
|
|
+ int i=10;
|
|
|
+ int j=20;
|
|
|
+ int k=30;
|
|
|
+ //& 逻辑与 a&b a和b的值都是true,结果就是true,否则结果为false
|
|
|
+ System.out.println((i>j)&(j>k)); //false & false 输出 false
|
|
|
+ System.out.println((i<j)&(j>k)); //true & false 输出 false
|
|
|
+ System.out.println((i>j)&(j<k)); //false & true 输出 false
|
|
|
+ System.out.println((i<j)&(j<k)); //true & true 输出 true
|
|
|
+ //| 逻辑或 a|b a和b的值都是false,结果就是false,否则结果为true
|
|
|
+ System.out.println((i>j)|(j>k)); //false | false 输出 false
|
|
|
+ System.out.println((i<j)|(j>k)); //true | false 输出 true
|
|
|
+ System.out.println((i>j)|(j<k)); //false | true 输出 true
|
|
|
+ System.out.println((i<j)|(j<k)); //true | true 输出 true
|
|
|
+ //^ 逻辑亦或 a^b,a和b的值不同,结果就是true,相同就是false
|
|
|
+ System.out.println((i>j)^(j>k)); //false ^ false 相同则输出 false
|
|
|
+ System.out.println((i<j)^(j>k)); //true ^ false 不同则输出 true
|
|
|
+ System.out.println((i>j)^(j<k)); //false ^ true 不同则输出 true
|
|
|
+ System.out.println((i<j)^(j<k)); //true ^ true 相同则输出 false
|
|
|
+ //! 逻辑非 !a,运算结果和a的值相反
|
|
|
+ System.out.println((i>j)); //false
|
|
|
+ System.out.println(!(i>j)); //!false 输出true
|
|
|
+
|
|
|
+ //短路操作可以提高效率
|
|
|
+
|
|
|
+ //&& 短路与 作用和&相同,但是有短路效果
|
|
|
+ //&&短路效果:如果符号左边的表达式的结果为false,就右边就不执行了,直接返回false
|
|
|
+ System.out.println((i>j)&&(j>k)); //false & false 输出 false
|
|
|
+ System.out.println((i<j)&&(j>k)); //true & false 输出 false
|
|
|
+ System.out.println((i>j)&&(j<k)); //false & true 输出 false
|
|
|
+ System.out.println((i<j)&&(j<k)); //true & true 输出 true
|
|
|
+ //|| 短路或 作用和|相同,但是有短路效果
|
|
|
+ // ||如果符号左边表达式结果为true,右边就不执行了,直接返回true
|
|
|
+ System.out.println((i>j)||(j>k)); //false | false 输出 false
|
|
|
+ System.out.println((i<j)||(j>k)); //true | false 输出 true
|
|
|
+ System.out.println((i>j)||(j<k)); //false | true 输出 true
|
|
|
+ System.out.println((i<j)||(j<k)); //true | true 输出 true
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|