逻辑运算符Java与c++/c的区别:
C语言的逻辑运算符: 与(&&) 或(||) 非(!)
Java的逻辑运算符: 与(&,&&) 或(|,||) 非(!)
注意:
- 在C语言中,与的运算符是 &&,而在java语言中,单个的&或者两个&&都可表示 与 的运算符。
- 同理,在C语言中,或的运算符是 ||,而在java语言中,单个的 | 或者两个||都可以表示 或 的运算符。
- 在C语言中单个的 &,| 表示位运算符,而在java中,单个的 &,| 也表示位运算符,但是在和if语句搭配使用时,表示逻辑运算符。
Java中逻辑运算符就使用 短路与(&&) 短路或(||)
短路与(&&): 当多个条件有一个返回false,剩余条件不再判断。
短路或(||): 当多个条件有一个返回true,剩余条件不再判断。
而一个&,则是 当多个条件有一个返回 false时,仍会继续判断剩余的条件。
总结&与&&的区别:
&既可以作为逻辑运算符也可以作为位运算符。
只有作为逻辑运算符时 & 和 &&是一样的,但 &&有短路,而 & 无短路,有短路则表示 当多个条件中有一个返回false时剩余条件不再判断,结果就是false。