Skip to content

Latest commit

 

History

History
98 lines (71 loc) · 3.68 KB

logical-operators.md

File metadata and controls

98 lines (71 loc) · 3.68 KB
title summary date
論理演算子
論理演算子は、bool型の値を使って論理演算を行います。
2021-12-25

比較演算子は、bool型の値同士で使用できます。数値型の値でも&|^演算子を使用することがあります。数値型のものについては、ビット演算子をご覧ください。

論理否定演算子 !

論理否定演算子!が先頭についたリテラルはその値の論理否定となります。次に例を示します。

print(!true); //出力:false
print(!!true);//出力:true

論理積演算子 &

論理積(AND)演算子&は、左右の値の両方がtrueと評価された場合のみtrueを返し、それ以外の場合falseを返します。

&演算子は常に両方のオペランドを評価する一方、&&演算子は左辺がfalseと評価された時点で右辺は評価されません。

print(true & true); //出力:true
print(true & false);//出力:false

次に、この論理演算の真理値表を示します。

x & y true false
true true false
false true false

論理和演算子 |

論理和(OR)演算子|は、左右の値の少なくとも一方がtrueと評価された場合にtrueを返し、それ以外の場合にfalseを返します。

|演算子は常に両方のオペランドを評価する一方、||演算子は左辺がtrueと評価された時点で右辺は評価されません。

print(true | false); //出力:true
print(false | false);//出力:false

次に、この論理演算の真理値表を示します。

x | y true false
true true true
false true false

排他的論理和演算子 ^

排他的論理和(XOR)演算子^は、左右の値が異なると評価された場合(すなわち、片方がtrueと評価されたならばもう片方がfalseと評価される場合)にtrueを返し、それ以外の場合はfalseを返します。つまりこの演算はboolに対する!=と同じ結果となります。次に例を示します。

print(true ^ false);//出力:true
print(true ^ true); //出力:false

次に、この論理演算の真理値表を示します。

x ^ y true false
true false true
false true false

条件付き論理積演算子 &&

条件付き論理積(AND)演算子&&は、左右の値の両方がtrueと評価された場合のみtrueを返し、それ以外の場合falseを返します。

&演算子は常に両方のオペランドを評価する一方、&&演算子は左辺がfalseと評価された時点で右辺は評価されません。

print(true && true); //出力:true
print(true && false);//出力:false

次に、この論理演算の真理値表を示します。

x && y true false
true true false
false true false

条件付き論理和演算子 ||

条件付き論理和(OR)演算子||は、左右の値の少なくとも一方がtrueと評価された場合にtrueを返し、それ以外の場合にfalseを返します。

|演算子は常に両方のオペランドを評価する一方、||演算子は左辺がtrueと評価された時点で右辺は評価されません。

print(true || false); //出力:true
print(false || false);//出力:false

次に、この論理演算の真理値表を示します。

x || y true false
true true true
false true false