ブール型の論理演算
否定演算子
論理否定演算子は ! を使用します。
値がTrueの場合はFalse、Falseの場合はTrueを返します。
!値
それではサンプルを見てみましょう。
Console.WriteLineで、否定演算子の動作をコンソールに出力します。
1 2 3 4 5 |
boolean a = True; boolean b = False; Console.WriteLine(!a); Console.WriteLine(!b); |
上記を実行した結果がこちらです。
False
True
否定した値がコンソールに出力されました。
AND演算子
AND演算子は & または && を使用します。
違いは以下のとおりです。
& ・・・ 左辺がFalseであっても右辺を評価する
&& ・・・ 左辺がFalseの場合右辺を評価しない
値 & 値
値 && 値
それではサンプルを見てみましょう。
Console.WriteLineで、AND演算子の動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Console.WriteLine(True & True); ・・・① Console.WriteLine(True & False); ・・・② Console.WriteLine(False & True); ・・・③ Console.WriteLine(False & False); ・・・④ boolean test() { Console.WriteLine("右辺を評価しました。"); return true; } Console.WriteLine(False & test()); ・・・⑤ Console.WriteLine(False && test()); ・・・⑥ |
上記を実行した結果がこちらです。
True ・・・①
False ・・・②
False ・・・③
False ・・・④
右辺を評価しました。 ・・・⑤
False
False ・・・⑥
処理した結果がコンソールに出力されました。
⑤の場合は左辺がFalseでも右辺のメソッドを実行しているのがわかります。
OR演算子
OR演算子は | または || を使用します。
違いは以下のとおりです。
| ・・・ 左辺がtrueであっても右辺を評価する
|| ・・・ 左辺がtrueの場合右辺を評価しない
値 | 値
値 || 値
それではサンプルを見てみましょう。
Console.WriteLineで、OR演算子の動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Console.WriteLine(True | True); ・・・① Console.WriteLine(True | False); ・・・② Console.WriteLine(False | True); ・・・③ Console.WriteLine(False | False); ・・・④ boolean test() { Console.WriteLine("右辺を評価しました。"); return false; } Console.WriteLine(true | test()); ・・・⑤ Console.WriteLine(true || test()); ・・・⑥ |
上記を実行した結果がこちらです。
True ・・・①
True ・・・②
True ・・・③
False ・・・④
右辺を評価しました。 ・・・⑤
True
True ・・・⑥
処理した結果がコンソールに出力されました。
⑤の場合は左辺がTrueでも右辺のメソッドを実行しているのがわかります。
排他的OR演算子
排他的OR演算子は ^ を使用します。
右辺または左辺どちらかがTrueで、もう一方がFalseである場合にTrueとなります。
値 ^ 値
それではサンプルを見てみましょう。
Console.WriteLineで、排他的OR演算子の動作をコンソールに出力します。
1 2 3 4 |
Console.WriteLine(True ^ True); Console.WriteLine(True ^ False); Console.WriteLine(False ^ True); Console.WriteLine(False ^ False); |
上記を実行した結果がこちらです。
False
True
True
False
処理した結果がコンソールに出力されました。
以上が、論理演算子を使用した判定の方法になります。
ぜひ参考にしてみてください。