逻辑运算符 | 逻辑功能 | 示例 |
---|
&(并且) | 有false则false | 1 |
|(或者) | 有true则true。 | 2 |
!(非) | 非false则true,非true则false。 | 3 |
^(异或) | 相同为false,不同为true。 | 4 |
&&(短路与) | 有false则false,若&&左边表达式或者值为false则右边不进行计算 | 5 |
||(短路或) | 有true则true,若||左边表达式或者值为true则右边不进行计算 | 6 |
示例1
public class ketanglianxi {
public static void main(String[] args) {
Boolean a=3>2; //结果为true
Boolean b=4>5; //结果为false
Boolean c=a&b;
System.out.println(c);
}
} //c=true&false ,有一个false,所以结果为false
示例2
public class ketanglianxi {
public static void main(String[] args) {
Boolean a=3>2; //结果为true
Boolean b=4>5; //结果为false
Boolean c=a|b;
System.out.println(c);
}
} //c=true|false ,有一个true,所以结果为true
示例3
public class ketanglianxi {
public static void main(String[] args) {
Boolean a=3>2; //结果为true
Boolean b=4>5; //结果为false
Boolean c=a^b;
System.out.println(c);
}
} //c=true^false, 不相同,所以结果为true,因为两个结果不相同,所以为true
示例4
public class ketanglianxi {
public static void main(String[] args) {
Boolean b=4>5; //结果为false
Boolean c=!b;
System.out.println(c);
}
} //b的结果为false,c的结果为true
示例5
public class ketanglianxi {
public static void main(String[] args) {
int a=3;
boolean b=4>5; //b的结果为false
Boolean c=b&&(++a)>3; // &&右边的(++a)>3并没运算!
System.out.println(c); //c的结果为false,与示例1的运算结果相同
System.out.println(a); //b的结果为3!
}
} //注意因为&&左边已经有一个false所以&&右边的表达式不会计算,这样会使运算效率增加
示例6
public class ketanglianxi {
public static void main(String[] args) {
Boolean a=3>2; //a的结果为true
int b=4;
Boolean c=a||(++b)>4; // ||右边的(++b)>4并没运算!
System.out.println(c); //c的结果为true,与示例2的运算结果相同
System.out.println(b); //b的结果为4!
}
} //注意因为||左边已经有一个true所以||右边的表达式不会计算,这样会使运算效率增加