&
和|
:所有条件都会进行判断&&
:遇到结果为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