逻辑运算符
public class Operator001 {
public static void main(String[] args) {
//&&与(and) ||或(or) !非(取反)
boolean a=true;
boolean b=false;
//&& and 与
System.out.println("a && b:"+(a&&b));//输出 false 两个变量都为真,结果都为true;一真一假,结果为false;两假,结果为false.
//|| or 或
System.out.println("a || b:"+(a||b));//输出 true 其中一个变量为真,结果为true;两真,结果为true,两假,结果为false.
//! 取反
System.out.println("a ! b:"+!(a||b));//输出 false 如果变量为真,则结果变成假
System.out.println("a ! b:"+!(a&&b));//输出 true如果变量为假,则结果变成真
//短路运算
System.out.println("b && a:"+(b&&a));//输出 false 个变量都为真,结果都为true.b变量为假,所以b后面就不执行了,这就叫短路运算
//举例证明短路运算
int c=6;
boolean d=(c<4)&&(c++<=6);
System.out.println("c:"+c);//输出 6 输出6证明(c++<6)没有执行运算
System.out.println("d:"+d);//输出 false
int f=6;
boolean e=(f>4)&&(f++==6);
boolean r=(f>4)&&(++f==6);
//f=f+1在这一行执行运算
System.out.println("输出f:"+f);//输出 8 执行判断之前不执行f=f+1,执行判断之后执行f=f+1
System.out.println("输出e:"+e);//输出 true 执行判断之前不执行f=f+1,执行判断之后执行f=f+1
System.out.println("输出r:"+r);//输出 false 先执行运算f=f+1,执行运算之后执行判断
System.out.println(e+"输出e:");//输出 true输出e: 注意字符串顺序
}
}

浙公网安备 33010602011771号