JAVA-SE基础篇-逻辑运算符
/**
* 逻辑运算符
* 知识点
* 1. 与 一假即假
* 2. 或 一真即真
* 3. 异或 相同为假 不同为真
* 4. 取反
* 5. 切记: &和&&的区别
* &两边都需要执行
* &&只需要执行左边一边
* 6. &&的 优先级大于 ||
* @author Administrator
*
*/
public class TestOperatorLogical {
public static void main(String[] args) {
getAnd();
System.out.println("#########");
getOr();
System.out.println("#########");
getxOR();
System.out.println("#########");
getTakeInverse();
System.out.println("#########");
}
public static void getAnd(){
// 一假即假
// 与 表达式1 表达式2 结果
// true true true
// true false false
// false true false
// false false false
int i=2;
// & 长路与 无论第一个表达式是true还是false,& 之后的 都会被计算
System.out.println(i==1 & i++ ==2);
System.out.println(i);
int j=2;
// && 短路与 第一个表达式只要是false,&& 之后的表达式的值,就不需要进行运算啦
System.out.println(j==1 && j++ ==2);
System.out.println(j);
}
public static void getOr() {
// 一真即真
// 或 表达式1 表达式2 结果
// true true true
// true false true
// false true true
// false false false
int i=2;
// | 长路或 无论第一个表达式是true还是false,| 之后的 都会被计算
System.out.println(i==1 | i++ ==2);
System.out.println(i);
int j=2;
// || 短路或 第一个表达式只要是true, || 之后的表达式的值,就不需要进行运算啦
System.out.println(j==1 || j++ ==2);
System.out.println(j);
}
public static void getxOR() {
// 相同为假 不同为真
// 异或 表达式1 表达式2 结果
// true true false
// true false true
// false true true
// false false false
boolean a=true ;
boolean b=false;
System.out.println(a^b); //不同,返回真
System.out.println(a^!b); //相同,返回假
}
public static void getTakeInverse() {
// 取反 表达式1 结果
// false true
// true false
boolean c=true;
System.out.println(c);
System.out.println(!c); //取反
}
}