論理演算子と短絡評価

短絡評価を理解するには、まず論理演算子とは何かを理解する必要があります。

論理演算子 

演算子を理解する前に、JAVA の論理演算子の結果がブール型の値であることを知っておく必要があります。

論理積「&&」

式 1 && 式 2

 論理 AND は、演算子の両側の式が true の場合にのみ結果が true になることを意味します。

式1 式2 結果
本物 本物 本物
本物 偽物 偽物
偽物 本物 偽物
偽物 偽物 偽物

論理和「||」

式 1 || 式 2

 論理 AND は、両方の式が false の場合にのみ結果が false になることを意味します。

式1 式2 結果
偽物 偽物 偽物
偽物 本物 本物
本物 偽物 本物
本物 本物 本物

論理的NOT「!」 

式1

And、or の 3 つの論理式のうち、not だけが単項演算子です

式 1 が true の場合、結果は false になります

式 1 が false の場合、結果は true になります

式1 結果
本物 偽物
偽物 本物

 


短絡評価

論理演算子を理解したら、短絡評価について学びましょう

まず、次のコードの出力について考えてみましょう。

 

 答え:

両方の質問の結果は次のとおりです。

なぜそうなるのでしょうか?

  • && の場合、左側の式の値が false の場合、式の結果も false になる必要があり、右側の式を計算する必要はありません。
  • || の場合、左側の式の値が true の場合、式の結果も true になる必要があり、右側の式を計算する必要はありません。

とにかく短絡評価を行わずにコードを書き たい場合

JAVA では、ビット演算子「& |」は、その両側の式がブール値を返す場合、論理演算子としても機能します。

& と | も、式の結果がブール値の場合は論理演算を表しますが、&& || と比較すると、短絡評価はサポートされていません。

おすすめ

転載: blog.csdn.net/2302_76339343/article/details/131961162