Java中逻辑运算符(逻辑与、短路与、逻辑或、短路或)的区别和基础学习【超实用-超容易理解】

逻辑运算符操作的都是boolean类型的变量
1、区分逻辑与、短路与:
①  &  与  &&  的运算结果相同;
②当符号左边是true时,& 与 && 都会执行符号右边的语句;
③当符号左边是false时,& 依旧执行符号右边的, && 则不再执行右侧的运算。
【符号左侧为true】
public static void main(String[]args){
            //逻辑与
            boolean b1=true;
            int i=10;
            //b1满足,看第二个条件
            if( b1 & (i++ > 0) ){
                        System.out.println("Study Java");
            }else{
                        System.out.println("Study Python");
            }
            System.out.println("i="+i);
}


/*
      输出结果为:Study Java
                 i=11
*/
public static void main(String[]args){
            //短路与
            boolean b1=true;
            int i=10;
            //b1满足,看第二个条件,所以i依旧需要自增
            if( b1 && (i++ > 0) ){
                        System.out.println("Study Java");
            }else{
                        System.out.println("Study Python");
            }
            System.out.println("i="+i);
}


/*
      输出结果为:Study Java
                 i=11
*/
【符号左侧为false】
public static void main(String[]args){
            //逻辑与
            boolean b1=false;
            int i=10;
            //b1已经是false,逻辑与依旧执行后面的,i需要自增
            if( b1 & (i++ > 0) ){
                        System.out.println("Study Java");
            }else{
                        System.out.println("Study Python");
            }
            System.out.println("i="+i);
}


/*
      输出结果为:Study Python
                 i=11
*/
public static void main(String[]args){
            //短路与
            boolean b1=false;
            int i=10;
            //b1已经是false,短路与短路后面的语句,不用管i,不自增
            if( b1 & (i++ > 0) ){
                        System.out.println("Study Java");
            }else{
                        System.out.println("Study Python");
            }
            System.out.println("i="+i);
}


/*
      输出结果为:Study Python
                 i=10
*/
2、区分逻辑或、短路或:
①  |  与  ||  的运算结果相同;
②左边为true时,|  仍旧执行符号后面的语句,m自增;||  则短路,不再执行后面的语句;
③左侧为false时,|  和 || 均执行后面的语句,m自增。
【符号左侧为true】
public static void main(String[]args){
            //逻辑或
            boolean b2 = true;
            int m = 10;
            //b2为true,已经满足条件,仍然执行后面的语句,m自增
            if( b2 | (m++ > 0) ){
                    System.out.println("Study Java");
            }else{
                    System.out.println("Study Linux");
            }
            System.out.println("m = " + m);
}


/*
        输出结果为:Study Java
                   m = 11
*/
public static void main(Spring[]args){
            //短路或
            boolean b2 = true;
            int m = 10;
            //b2为true,已经满足条件,后面的语句短路,不执行自增
            if( b2 || (m++ > 0) ){
                    System.out.println("Study Java");
            }else{
                    System.out.println("Study Linux");
            }
            System.out.println("m = " + m);
}


/*
        输出结果为:Study Java
                   m = 10
*/
【符号左侧为false】
public static void main(Spring[]args){
            //逻辑或
            boolean b2 = false;
            int m = 10;
            //b2为false,要看后面的语句,执行后面的语句,m自增(短路或同理)
            if( b2 || (m++ > 0) ){
                    System.out.println("Study Java");
            }else{
                    System.out.println("Study Linux");
            }
            System.out.println("m = " + m);
}


/*
        输出结果为:Study Java
                   m = 11
*/
练习题:
public static void main(String[]args){
        boolean x = true;
        boolean y = false;
        short z = 42;
        if(z++ == 42) && (y = true))z++;
        if(x = false) || (++z == 45)) z++;

        System.out.println("z = " + z);
        
}

//结果为 z = 46

总结:

在看到一段代码时先判断逻辑运算符(是逻辑符还是短路符),然后看符号左侧是true Or false,带进 “与”  “或” 的情况判断是否执行符号左右的语句、是否执行if后面的语句。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值