/**
* //java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。
* //&&的短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。
* //&可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。
*
* @author tofacebook.com
*/
public class BooleanDemo {
public static void main(String[] args) {
// &&第一个表达式为false 后面的就不执行了
int i = 0;
if(i == 3 && ++i > 0 ){ //当i== 3 为 假时,++i 不执行
}
//System.out.println("i = " + i);
//console:i = 0 ==>第二个表达式没有执行
// &第一个表达式为false
int j = 0;
if(j == 3 & ++j > 0 ){//当 j == 3 不管为真 还是假 ++j都会被执行。
}
//System.out.println("j = " + j);
//console:j = 1 ==>第二个表达式执行了
int x = 0;
if(x == 3 || ++x > 0 ){ //当 x ==3 为假 时 后面的 ++x会被执行,当 x == 3 为真时,后面的 ++x 不会别执行。
System.out.println("进来了 :x = " + x);
}
System.out.println("x = " + x);
//console:i = 0 ==>第二个表达式没有执行
// &第一个表达式为false
int y = 0;
if(y == 3 | ++y > 0 ){ //当 y == 3 不管为真 还是假 ++y都会被执行。
System.out.println("进来了 : y = " + y);
}
System.out.println("y = " + y);
}
}