java短路運算子和邏輯運算子的區別

2021-09-02 09:36:28 字數 1011 閱讀 2574

/** 邏輯運算子——不論是什麼條件都要執行左右兩邊**

* 短路運算子——我認為在底層就是利用物理電路的「併聯」和「串聯」實現的

* 原理很簡單,併聯電路代表短路或(||),串聯電路代表短路與(&&)。

* * 併聯電路兩個開關只要有乙個開關閉合,電路就會通。

* 類似於短路或(||),只要有其中乙個為true(開關閉合)是就不必執行右邊的**

* 併聯電路兩個開關其中有乙個開關沒有閉合(false),電路不會通,要繼續執行右邊的**。

* * 串聯電路(&&)原理是必須是兩個開關都閉合電路才能通,所以原理可想而知咯!

* 左邊的開關閉合(true)仍需判斷右邊的開關是否閉合,所會執行右邊的**。

* 左邊的開關沒有閉合(false) 不用執行右邊的**。

* 因為左邊開關沒有閉合!右邊的開關無論是否閉合電路都不會通電,所以不執行右邊的**。

* * ——不知不覺突然回顧了那麼多年前的物理課知識,多少回憶湧上心頭,

* 記得那時候拆了好多家裡的電池,到處找小燈泡去連線電路,

* 有時候電路短路,弄的火光閃爍...

*/int a = 0;

int b = 0;

int c = 0;

int d = 0;

/*flag = true

邏輯或1

短路或0

邏輯與1

短路與1

flag = false

邏輯或1

短路或1

邏輯與1

短路與0

*/boolean flag = false;

// | 和 || 的區別

if(flag | a++ > 10) else

if(flag || b++ >10) else

// & 和 && 的區別

if(flag & c++ > 10) else

if(flag && d++ >10) else

java邏輯運算子

什麼是邏輯運算子?就是讓我們的條件多組合在一起,一次組合多個條件,然後再運算最後的邏輯值是否滿 足要求,說白了邏輯運算子就是多個選擇或者多個要求。邏輯運算子有 與 或 非 與 的意思就是同時的意思,必須要求兩邊都為true才為true如 10 12 100 100 問一下那邊 和這邊是不是為真如果都...

Java邏輯運算子

假設布林變數a為真,變數b為假 稱為邏輯與運算子。當且僅當兩個運算元都為真,條件才為真。a b 為假。稱為邏輯或操作符。如果任何兩個運算元任何乙個為真,條件為真。a b 為真 稱為邏輯非運算子。用來反轉運算元的邏輯狀態。如果條件為true,則邏輯非運算子將得到false。a b 為真。當使用與邏輯運...

Java邏輯運算子

邏輯運算子把各個運算的關係表示式連線起來組成乙個複雜的邏輯表示式,以判斷程式中的表示式是否成立,判斷的結果是 true 或 false。邏輯運算子包括 其中 和 是雙目運算子,實現邏輯與 邏輯或 是單目運算子,實現邏輯非。表 1 給出了邏輯運算子的用法 含義及例項。表1 邏輯運算子的用法 含義及例項...