&和|:所有条件都会进行判断&&:遇到结果为false时不再进行向下判断||:遇到结果为true时不再进行向下判断public class Hello {
public static void main(String[] args) {
int i = 3 ;
boolean flag = (i>10) & (i++)<5;
System.out.println(flag);
System.out.println(i);
}
}
由于&会判断所有的条件,所以i最后的值会加1
false
4
public class Hello {
public static void main(String[] args) {
int i = 3 ;
boolean flag = (i>10) && (i++)<5;
System.out.println(flag);
System.out.println(i);
}
}
&&遇到为false时不再进行判断。由于i>10为false,所以(i++)<5无论结果如何都不进行判断,总体结果为false,i的值依旧为3
false
3
public class Hello {
public static void main(String[] args) {
int i = 3 ;
boolean flag = (i>1) | (i++)<5;
System.out.println(flag);
System.out.println(i);
}
}
|两边结果都会判断,i会加1,结果为true,i=4
true
4
public class Hello {
public static void main(String[] args) {
int i = 3 ;
boolean flag = (i>1) || (i++)<5;
System.out.println(flag);
System.out.println(i);
}
}
||遇到结果为true不会往下判断。i>1结果为true,(i++)<5不会进行判断,最后结果为true,i=3
true
3原文:https://www.cnblogs.com/zjw-blog/p/11870259.html