“逻辑和”与 “逻辑或”运算符

1.逻辑和运算符有两种形式:&&与&,二者的不同之处在于,当第一个表达式为假时,&&运算符会短路

 public static void main(String[] args) {
    int x=0;
    if((x!=0)&&(x++>10)){

    }
    System.out.println(x);//x=0,第一个表达式为假,第二个表达式x++就不再发生
  }

而&运算符效果如下

 public static void main(String[] args) {
    int x=0;
    if((x!=0)&(x++>10)){

    }
    System.out.println(x);//x=1 虽然第一个为假,但是x++依然执行了
  }

2.同理逻辑与也有两种形式:||与|
当第一个表达式为真时,||会造成短路

  public static void main(String[] args) {
    int x=0;
    if((x==0)||(x++>10)){

    }
    System.out.println(x);//x=0,x++没有执行
  }

而|则不会

 public static void main(String[] args) {
    int x=0;
    if((x==0)|(x++>10)){

    }
    System.out.println(x);//x=1,x++执行
  }

使用的时候可能忽略了这些细节,仅此记下

你可能感兴趣的:(java基础知识总结-经典)