逻辑运算符:
1,逻辑运算符用于连接布尔型表达式,在 java 中不可以写成 3<x<6 ,应该写成 x>3 & x<6 。
2,“&” 和 “&&”的区别:
单 & 时,左边无论真假,右边都进行运算;
双 & 时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
3,“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
4,异或(^)与或(|)的不同之处是:当左右都为 true时,结果为 false;
理解:异或,追求的是“异”!
//逻辑运算符: & && | || ! ^ ; public class TestLogic { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println(a & b); System.out.println(a && b); System.out.println(a | b); System.out.println(a || b); System.out.println(a & !b); System.out.println(a^b); // & 与 && 的区别: // &:不管左边是 true 还是 false ,右端都会进行运算。 // &&:当坐端为 false 时,右端不在进行运算 int i1 = 10; if (a & (i1++) > 0) { System.out.println("今天天气很晴朗"); }else{ System.out.println("难得没有雾霾"); } System.out.println(i1); // 11 int i2 = 10; if (b && (i2++) > 0) { System.out.println("今天天气很晴朗"); }else{ System.out.println("难得没有雾霾"); } System.out.println(i2); // 10 // | 与 || 的区别: // |:当左端为 true 时,右端照样做运算。 // ||:当左端为 true 时,右端不再做运算。 int i3 = 10; if (a | i3++ > 0) { System.out.println("今天天气很晴朗"); }else{ System.out.println("难得没有雾霾"); } System.out.println(i3); // 11 int i4 = 10; if (a || i4++ > 0) { System.out.println("今天天气很晴朗"); }else{ System.out.println("难得没有雾霾"); } System.out.println(i4); // 10 } }
微信公众号:“遇见王川”。