/* 逻辑运算符: & 逻辑与 【并且】 (两边算子都是true,结果才是true) | 逻辑或 【或者】 (两边算子只要有一个是true,结果就是true) ! 逻辑非 【取反】 (!false就是true;!true就是false 这是一个单目运算符) ^ 逻辑异或 【不一样为真】 (两边不一样为真,两边一样为假) && 短路与 || 短路或 注意: - 逻辑运算符要求两边算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型 - 短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象 第一个表达式执行结果是false,会发生短路 - 短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象 第一个表达式执行结果是true,会发生短路 */ class 逻辑运算符{ public static void main(String[] args) { 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("--------------------------------"); 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("++++++++++++++++++++++++++++++++++++"); System.out.println(!true);//false System.out.println(!false);//true System.out.println("=================================="); System.out.println(true ^ true);//false System.out.println(false ^ false);//false System.out.println(true ^ false);//true System.out.println(false ^ true);//true System.out.println("......................................"); //逻辑与 int p = 10; int q = 6; System.out.println(p < q & p ++ < q);//false System.out.println(p);//11 说明p ++被执行 System.out.println("#######################################"); //短路与 int x = 10; int y = 6; System.out.println(x < y && x ++ < y);//false System.out.println(x);//10 // x < y 结果是false,整个表达式的结果已经确定是false,所以后面的表达式(x ++ < y)没有执行,这种现象叫短路现象 // 当两端表达式都需要被执行的时候不能使用短路与 System.out.println(x < y & x ++ < y);//false 使用逻辑与后面的表达式(x ++ < y)会被执行,所以下一行代码输出结果为11 System.out.println(x);//11 } }
Java语言中的逻辑运算符
于 2022-10-29 16:50:35 首次发布