对比表
与(仅左右语句都为真时为真)包括:逻辑与& 和 短路与&&
或(左右语句有一则或超过一则为真时为真)包括:逻辑或| 和 短路或||
非(取反,假时为真,真时为假)包括:逻辑非!
异或(左右相异时为真,左右相同时为假)包括:逻辑异或^
a | b | a&b | a&&b | a|b | a||b | !a | a^b |
---|
true | true | true | true | true | true | false | false |
true | false | false | false | true | true | false | true |
false | true | false | false | true | true | true | true |
false | false | false | false | false | false | true | false |
与
逻辑与
class LogicAnd{
public static void main(String[] args){
boolean b1 = false;
int num1 = 10;
if(b1&(num1++ >0)){
System.out.println("逻辑与成立");
}else{
System.out.println("逻辑与不成立");
}
System.out.println("num1=" + num1);
}
}
短路与
class ShortAnd{
public static void main(String[] args){
boolean b2 = false;
int num2 = 10;
if(b2&&(num2++ >0)){
System.out.println("短路与成立");
}else{
System.out.println("短路与不成立");
}
System.out.println("num2=" + num2);
}
}
或
逻辑或
class LogicOr{
public static void main(String[] args){
boolean b1 = true;
int num1 = 10;
if(b1|(num1++ >0)){
System.out.println("逻辑或成立");
}else{
System.out.println("逻辑或不成立");
}
System.out.println("num1=" + num1);
}
}
短路或
class ShortOr{
public static void main(String[] args){
boolean b2 = true;
int num2 = 10;
if(b2&&(num2++ >0)){
System.out.println("短路或成立");
}else{
System.out.println("短路或不成立");
}
System.out.println("num2=" + num2);
}
}
非
逻辑非
class LogicNot{
public static void main(String[] args){
boolean b = true;
if(!b){
System.out.println("非b为真");
}else{
System.out.println("非b为假");
}
}
}
异或
逻辑异或
class LogicXor{
public static void main(String[] args){
boolean a = true;
booleam b = false;
if(a^b){
System.out.println("a^b为真");
}else{
System.out.println("a^b为假");
}
}
}