論理演算子とは?論理演算子の優先順位をコードで比較

  • このエントリーをはてなブックマークに追加

スポンサーリンク

※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~

論理演算子とは?

論理演算子とは、真偽(論理)値を扱う演算子です。

論理演算子の判定結果は、true(真)かfalse(偽)を返します。

論理演算子には以下のような種類があります。

演算子 項数 意味
! 1 否定(NOT)
& 2 かつ(AND)
&& 2 かつ(AND)
| 2 または(OR)
|| 2 または(OR)
^ 2 排他的論理和(XOR)

NOT(否定演算子「!」)

Aがtrueなら!Aはfalseを返します。

A !A
true false
false true

AND(「&」「&&」)

難しい言葉で言えば、2つの式の論理積(AND)を求めます。

両方の式がtrueであれば、trueを返します。

そうでない場合は、falseを返します。

A B A&B
true true true
true false false
false true false
false false false

※上のパターンで言えば、AとBの両方がtrueでないと、「A&B」はtrueにならない。

OR(「|」「||」)

難しい言葉で言えば、2つの式の論理和(OR)を求めます。

両方の式のどちらかがtrueであれば、trueを返します。

両方ともfalseの場合に、falseを返します。

A B A|B
true true true
true false true
false true true
false false false

※上のパターンで言えば、AとBのどちらかがtrueであれば、「A|B」はtrueになります。

XOR(「^」)

難しい言葉で言えば、2つの式の排他的論理和(XOR)を求めます。

2つの式が同じであれば、falseを返し、2つの式が異なれば、trueを返します。

A B A^B
true true false
true false true
false true true
false false false

演算子の優先順位

演算子の優先順位は

「!」(NOT)>「&」(AND)>「^」(XOR)>「|」(OR)

左側の演算子が優先されます。

最低限、ANDはORより優先されると覚えておきましょう。

※単項演算子と2項演算子を比較すると、単項演算子が優先されています。また、二項演算子同士を比べた際、trueを返すパターンが少ない演算子の方が、先に演算されると覚えておきましょう。ANDは1パターン、XORは2パターン、ORは3パターン、trueを返すパターンがあります。

以下が演算子の優先順位を比較する用のソースコード。

言語はC#

実行結果

!f & f
False
False
True
False
f & f | t
True
True
False
t | f & f
True
True
False
FalseFalseFalse
TrueTrueTrue
TrueTrueTrue
FalseFalseFalse
TrueTrueTrue
TrueFalseTrue
TrueTrueTrue
t | t ^ t
True
True
False
True
FalseFalseFalse
TrueTrueFalse
FalseFalseFalse
TrueTrueFalse
FalseFalseFalse
TrueTrueTrue
TrueTrueTrue
FalseFalseFalse
f & t ^ t
True
True
False
True

関連記事

無料体験レッスンあり。マンツーマン形式で初心者向け。
  • このエントリーをはてなブックマークに追加

スポンサーリンク

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)