①逻辑与& 和 短路与&&
逻辑与& ==》左右两边都为真才为真(无论左边是否为假,右边都计算)
如 int a=10;
int b=20;
boolean c=a<20 & b>10; 左右两边都为真
Systen.out.println(c);==》true
如果把 b>10换为 b>30 结果就为假
短路与&& ==》只要左边为假,那么证明整个表达式为假。且右边不再计算
如 c=b>34&&a++;
System.out.println(c); ==》false
System.out.printl(a); ==》a=10
因为左边是假的,所以右边的不计算
②逻辑或| 和 短路或||
逻辑或| ==》只要有一个条件是真的就为真(无论左边是否为真,右边都计算)
如 c=a>5 | b<5;
System.out.println(c);==》true
因为 a>5是真的 所以为真
短路或|| ==》只要左边为真,那么证明整个表达式为真。且右边不再计算
如 c=a>5 || b++;
System.out.println(c); ==》true
System.out.printl(b); ==》b=20
因为左边是真的,所以右边的不计算
③异或^
只有是异(不同的),才为真 (true^false,false^true)
如 c=a<45 ^ b<45; ==》false 因为两边都为真的
c=a<45 ^ b>45; ==》true 因为两边的结果不同
c=a>45 ^ b>45; ==》false 因为两边都为假的
④非! ==》取反
即取反义词的意思(真的变为假的,假的变为真的)
c=!(a>45); ==》true 取反
System.out.println(!c); ==》false 再取反
逻辑与& ==》左右两边都为真才为真(无论左边是否为假,右边都计算)
如 int a=10;
int b=20;
boolean c=a<20 & b>10; 左右两边都为真
Systen.out.println(c);==》true
如果把 b>10换为 b>30 结果就为假
短路与&& ==》只要左边为假,那么证明整个表达式为假。且右边不再计算
如 c=b>34&&a++;
System.out.println(c); ==》false
System.out.printl(a); ==》a=10
因为左边是假的,所以右边的不计算
②逻辑或| 和 短路或||
逻辑或| ==》只要有一个条件是真的就为真(无论左边是否为真,右边都计算)
如 c=a>5 | b<5;
System.out.println(c);==》true
因为 a>5是真的 所以为真
短路或|| ==》只要左边为真,那么证明整个表达式为真。且右边不再计算
如 c=a>5 || b++;
System.out.println(c); ==》true
System.out.printl(b); ==》b=20
因为左边是真的,所以右边的不计算
③异或^
只有是异(不同的),才为真 (true^false,false^true)
如 c=a<45 ^ b<45; ==》false 因为两边都为真的
c=a<45 ^ b>45; ==》true 因为两边的结果不同
c=a>45 ^ b>45; ==》false 因为两边都为假的
④非! ==》取反
即取反义词的意思(真的变为假的,假的变为真的)
c=!(a>45); ==》true 取反
System.out.println(!c); ==》false 再取反