Java語言中&&與& ||與|的區(qū)別是什么
1、運算符兩邊的變量為boolean變量時
先列出代碼:
public class Test {
public static void main(String[] args) {
boolean a = false;
boolean b = true;
if (a && b) {
// do something
System.out.println("a&&b");
}
if (a & b) {
// do something
System.out.println("a&b");
}
}
}
雖然兩個if語句打印結果時一樣的!!?。ǘ紱]有輸出)
但是實際的執(zhí)行過程卻是不一樣的(自己可以debug調試試試)
&& 邏輯運算and,當兩個條件都為真的時候才為真。
||邏輯運算or,只要有一個條件為真就為真。
而& 和 | 屬于位運算。
邏輯運算與位運算最大的區(qū)別在于
邏輯運算支持短路運算,
而位運算不支持短路運算。
短路運算就是 位運算if(條件1 & 條件2){}
當第一個條件不滿足的時候還會判斷條件2,
但是邏輯運算if(條件1 &&條件2){}
當第一個條件不滿足的時候不會判斷條件2.
邏輯|| 跟位運算| 同上。
2、運算符兩邊的變量為int類型變量時
只能執(zhí)行a&b的按位與運算或者a|b執(zhí)行按位或運算。正常算即可
以上所述是小編給大家介紹的Java語言中&&與& ||與|的區(qū)別,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的,在此也非常感謝大家對腳本之家網站的支持!
相關文章
詳解SpringBoot定制@ResponseBody注解返回的Json格式
這篇文章主要介紹了詳解SpringBoot定制@ResponseBody注解返回的Json格式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
Java AQS(AbstractQueuedSynchronizer)源碼解析
AbstractQueuedSynchronizer被稱為隊列同步器,簡稱為大家熟知的AQS,這個類可以稱作concurrent包的基礎。本文將通過剖析源碼來看看AQS是如何工作的,感興趣的可以了解一下2023-02-02

