image.png
    逻辑运算符Java与c++/c的区别:
    C语言的逻辑运算符: 与(&&) 或(||) 非(!)
    Java的逻辑运算符: 与(&,&&) 或(|,||) 非(!)
    注意:

    1. 在C语言中,与的运算符是 &&,而在java语言中,单个的&或者两个&&都可表示 与 的运算符。
    2. 同理,在C语言中,或的运算符是 ||,而在java语言中,单个的 | 或者两个||都可以表示 或 的运算符。
    3. 在C语言中单个的 &,| 表示位运算符,而在java中,单个的 &,| 也表示位运算符,但是在和if语句搭配使用时,表示逻辑运算符。

    Java中逻辑运算符就使用 短路与(&&) 短路或(||)
    短路与(&&): 当多个条件有一个返回false,剩余条件不再判断。
    短路或(||): 当多个条件有一个返回true,剩余条件不再判断。
    而一个&,则是 当多个条件有一个返回 false时,仍会继续判断剩余的条件。
    image.png
    image.png

    总结&与&&的区别:
    &既可以作为逻辑运算符也可以作为位运算符。
    只有作为逻辑运算符时 & 和 &&是一样的,但 &&有短路,而 & 无短路,有短路则表示 当多个条件中有一个返回false时剩余条件不再判断,结果就是false。