&和&&的联系和区别?|和||的区别与联系? 系统管理员 2023-05-29 03:14 3阅读 0赞 ## &和&&的联系和区别?|和||的区别与联系? ## 联系: &和&&都可以用做逻辑与运算 当运算符两边的表达式的结果或操作数都为true时,整个运算结果为true,否则,只要有一方为false,结果都为false 逻辑运算的结果是相同的 区别: (1) &逻辑运算符称为逻辑与运算符,&&逻辑运算符称为短路与运算符 对于&:无论任何情况下,&两边的操作数或表达式都会参与计算 对于&&:当&&左边的操作数为false或者左边表达式结果为false时,&&右边的操作数或者表达式将不参与计算,最终的结果为false 综上所述:如果逻辑与运算的第一个操作数是false或者第一个表达式的记过为false时,对于第二个操作数或者表达式是否进行运算,对最终结果没有影响,结果肯定为false. 推荐平时多实用&&,它的效率更高一些 (2) &还可以用作位运算符,当&两边的操作数或者两边表达式的结果不是boolean类型是,&用于按位与运算符的操作. |和||的区别和联系与&和&&的联系基本相似 实例: public class TestVar01{ public static void main(String[] args){ //逻辑与:& 只要有一个表达式的结果是false,那么最终结果就是 false System.out.println(true&true); System.out.println(true&false); System.out.println(false&true); System.out.println(false&false); //短路与: && 效率高:只要第一个表达式为false,那么结果就是false,第二个表达式不用参与运算了 System.out.println(true&&true); System.out.println((1==1)&&(7<2)); System.out.println(false&&true); System.out.println(false&&false); System.out.println("--------------------------------------------"); // 逻辑或: | 只要有一个表达式的结果是true,那么最终结果就是true System.out.println(true|true); System.out.println(true|false); System.out.println(false|true); System.out.println(false|false); // 短路或: || 效率高:只要第一个表达式为true,那么结果就是true,第二个表达式不用参与运算了。 System.out.println(true||true); System.out.println(true||false); System.out.println(false||true); System.out.println(false||false); System.out.println("--------------------------------------------"); // ^ 异或: 相同为false,不同为true System.out.println(true^true); System.out.println(true^false); System.out.println(false^true); System.out.println(false^false); System.out.println("--------------------------------------------"); // 非 ! System.out.println(!true); System.out.println(!false); } }
还没有评论,来说两句吧...