java中的逻辑运算符简介

/**

  • 逻辑运算符:
  • 与(&&):并且的含义,此种情况只有在&&两侧值都为true时结果才为true,否则结果为false
  • 或(||): 或者的含义,此种情况下||两侧有一侧的值为true,结果就为true,两侧都为false则结果才为false;
  • 非(!) : 取反的含义,在值前使用,若值为true,结果为false;若值为false,则结果为true
  • 注意事项:
  • 1、逻辑运算符的两侧值都为Boolean类型;
  • 2、与、或操作需要符号左右两侧都要有值,非只要一个boolean类型的值就可以;
  • 3、逻辑运算符可以多个一起使用:例如:条件1 && 条件2 &&条件3
  • 与、或运算符具有短路的效果:与(&&):若左侧的值为false,则结果为false,右侧的值不执行;
  •                    或(||):同理,若左侧的值为false,则结果为false
    
  • 备注:在java中比较运算符不支持多个运算符一起使用,则可以使用逻辑运算符进行拆分;
  • 例如:3<a<5:在java中是不支持此种比较的,则可拆分成 3 < a && a < 5
    */
public class Demo06Logic {
   public static void main(String[] args){
       /**
        * 与(&&)操作
        */
       int a = 6;
       System.out.println(a>5 && a<7);  //true
       System.out.println(a>8 && a <10); //false
       System.out.println((a>3 && a < 5)); //fasle
       System.out.println("=========================================");

       /**
        * 或(||)操作
        */
       int b = 9;
       System.out.println(b>5 || b<7);  //true
       System.out.println(b<8 || a <10); //true
       System.out.println((b<3 || b < 5)); //fasle
       System.out.println("=========================================");

       /**
        * 非(!)操作
        */
       int c = 5;
       System.out.println(!(c>5));  //true:c>5值为fasle,执行非操作后为true
       System.out.println(!(c<8)); //false:c<8值为true,执行非操作之后为fasle
       System.out.println("=========================================");

       /**
        * 短路效果验证
        */
       int d = 8;
       System.out.println("d的初始值:"+d);
       System.out.println(d<5 && ++d>7);
       /**
        * d<5值为false,短路原则,则不继续往下执行,++d<7未执行,d为自增1,值仍为8
        */
       System.out.println("d:"+d);

       System.out.println(d>5 && ++d<7);
       /**
        * d>5值为true,则继续往下执行前++混合使用,则先自增1,d=9,所以d<7值为false
        */
       System.out.println("d:"+d);

       int e = 6;
       System.out.println("e的初始值:"+e);
       System.out.println(e<8 || ++e <10);
       /**
        * e<8值为true,根据或运算符一侧为true则结果为true的原则和短路原则,则结果为true,且++e<10未执行,
        * e未自增1,值仍为6
        */
       System.out.println("e: "+e);

       System.out.println((e<3 || ++e > 6));
       /**
        * e<3值为false,根据或运算符两侧为false结果才为false的原则,则继续执行,++e > 6,根据优先级,限制性++e,e自增1
        * e的值为7,7>6值为true,则结果为true
        */
       System.out.println("e: "+e);
       System.out.println("=========================================");

       /**
        * 比较:5<f<9
        */
       int f = 9;
       System.out.println("5<f<9 的比较结果:"+(f>5 && f<9));
       System.out.println("6<f<8 的比较结果:"+(f>6 || f<10));
       System.out.println("=========================================");

       //备注:单个&和|不具备短路效果,则不管左侧执行结果是true或false,结果右侧都会执行
       int g = 8;
       System.out.println("g的初始值:"+g);
       System.out.println(g<5 & ++g>7);
       System.out.println("g:"+g);

       System.out.println(g>5 & ++g<7);
       System.out.println("g:"+g);

       int h = 6;
       System.out.println("h的初始值:"+h);
       System.out.println(h<8 | ++h <10);
       System.out.println("h: "+h);

       System.out.println((h<3 | ++h > 6));
       System.out.println("h: "+h);
       System.out.println("=========================================");
   }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值