• Java中,&&与&,||与|的区别


    逻辑运算符(Java中)有四类:

     &&(短路与),&

        ||(短路或),   |

    短路与是JAVA语言中的一个逻辑运算符,记作&&,与编程语言中的与逻辑相似,但具有短路性质。
    符号为:&&。
    A&&B, 当A为false时,不去计算B的值而直接返回false;当A为true时,计算B的值。(来自百度百科)
    而A&B,需要计算A和B的值才会返回值。
    简单的来说:
          &&和&都是表示与,区别是&&若第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断。
    例1
    public class Demo{
    
    public static void main(String[] args) {
            int i = 4;
            if ((i++ > 6) & (i++ < 9)) {
                System.out.println(i);
                System.out.println("if为真");
            }
            System.out.println(i);
        }
    }

    运行结果为 : 6

    因为 i 自加两次。

    例2:

    public class Demo{
    
    public static void main(String[] args) {
            int i = 4;
            if ((i++ > 6) && (i++ < 9)) {
                System.out.println(i);
                System.out.println("if为真");
            }
            System.out.println(i);
        }
    }

    运行结果为 : 5

    因为 i 自加一次。

    同理,| 和 || 也是类似情况。

    百度百科:

      短路或是JAVA语言中的一个逻辑运算符,记作||。所谓短路,即在第一项为true的情况下,不再进行第二项的判断。

      a||b:只有a与b都为false,结果才为false;有一个为true,结果为true。

    简单的来说:

          || 和 | 都是表示与,区别是 || 若第一个条件不满足,后面条件就不再判断。而 | 要对所有的条件都进行判断。

     
  • 相关阅读:
    Power Strings P5019
    Floyd模板题 P1704
    【训练题】强连通分量缩点 P1679
    字符串hash模板题 P5018
    Dijkstra模板题 P1710
    【训练题】分队 P1672
    二分图模板题 P1631
    【训练题】无序字母对 P1675
    KMP模板题 P1537
    马路 树链剖分/线段树/最近公共祖先(LCA)
  • 原文地址:https://www.cnblogs.com/luoshui/p/9440136.html
Copyright © 2020-2023  润新知