逻辑运算符

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: 注意字符串顺序







}

}

posted @ 2020-08-19 13:43  willow_tree  阅读(70)  评论(0)    收藏  举报