day03
/*
运算符之四:逻辑运算符
& && | || ! ^
说明:逻辑运算符操作都是boolean类型的操作
*/
class LogicTest{
public static void main(String[] args){
//区分&与&&
//相同点1:&与&&的运算结果相同
//相同点2:当符号左边是true时,二者都会执行符号右边的运算。
//不同点:当符号左边是false,&继续执行符号右边的运算,&&不再执行符号右边的运算。
//因为对于&&,既然左边是假的,那么结果肯定是假的,所以就不用执行右边了
boolean b1 = true;
b1 = false;
int num1 = 10;
if(b1 & (num1++ > 0)){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num1 = " + num1);
boolean b2 = true;
b2 = false;
int num2 = 10;
if(b2 && (num2++ > 0)){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num2 = " + num2);
//区分|与||
//相同点1:|与||的运算结果相同
//相同点2:当符号左边是false时,二者都会执行符号右边的运算。
//不同点:当符号左边是true,|继续执行符号右边的运算,||不再执行符号右边的运算。
//因为对于||,既然左边是真的,那么结果肯定是真的,所以就不用执行右边了
//开发中推荐使用||(||和&&为短路)
boolean b3 = false;
b3 = true;
int num3 = 10;
if(b3 | (num3++) > 0){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num3 = " + num3);
boolean b4 = false;
b4 = true;
int num4 = 10;
if(b4 || (num4++) > 0){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num4 = " + num4);
}
}