一、逻辑非
1.逻辑非运算符的符号表示:!
2.含义:
逻辑非--等同于取反。如: !true->false, !false->true
3.逻辑非运算符使用的代码示例
public class LogicalOperatorsTest {
public static void main(String[] args) {
int num1=10;
int num2=8;
int num3=5;
int num4=0;
int num5=1;
boolean f=false;
System.out.println(!(num1>num2) );//1.逻辑非--等同于取反,故结果为false
System.out.println(num1>(num2*num3) );//应该为false;
System.out.println(!(num1>(num2*num3)) );//应该为true;
}
}
二、逻辑与
1.逻辑与运算符的符号表示:&
2.含义: 两边都为true才是true,一个为false就是false
3.逻辑与运算符使用的代码示例
public class LogicalOperatorsTest {
public static void main(String[] args) {
int num1=10;
int num2=8;
int num3=5;
int num4=0;
int num5=1;
boolean f=false;
//2.逻辑与
System.out.println((num1<num2) & (f=num2>num3) );//应该为false;
}
}
三、逻辑或
1.逻辑或运算符的符号表示:|
2.含义:只要该运算符两侧的两个条件有一个为true,结果就为true
3.逻辑或运算符使用的代码示例
public class LogicalOperatorsTest {
public static void main(String[] args) {
int num1=10;
int num2=8;
int num3=5;
int num4=0;
int num5=1;
boolean f=false;
//3.逻辑或
System.out.println((num1<num2) | (f=num2>num3) );//应该为true
}
}
四、异或运算
1.异或运算符的符号表示:^
2.含义:逻辑异或运算--异或运算符的值为true,仅当两个运算元中恰有一个的值为true,而另外一个的值为非真(false)。转化为命题,就是:“两者的值不同。”或“有且仅有一个为真。”即两个操作数运算结果均为true时,结果为false;两个操作数运算结果均为false时,结果为false;只有两个操作数运算结果不同时,才返回true。
3.
public class LogicalOperatorsTest {
public static void main(String[] args) {
int num1=10;
int num2=8;
int num3=5;
int num4=0;
int num5=1;
boolean f=false;
//运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;代码测试如下:
System.out.println(num4^num5);//应该为1
System.out.println(num5^num4);//应该为1
System.out.println(num4^num4);//值相同-->应该为0<==>false;
System.out.println(num5^num5);//值相同-->应该为0<==>false;
//例如:3^5 = 0000 0011 | 0000 0101 =0000 0110,因此,3^5 = 6,本质是将十进制转为二进制,然后,按位异或运算;
System.out.println(3^5 );
//结论:即:参加运算的两个对象,如果两个位为“异”(值不同),则该位结果为1,否则为0。
}
}