目次
概要
ここでは、論理演算子について学習します。論理演算子には、AND 演算子(かつ)、OR 演算子(または)、NOT 演算子(でない)、XOR 演算子(排他的論理和)があります。よく使われる AND、OR、NOT について解説したいと思います。
そもそも論理式とは、条件を満たすか満たさないか(真か偽、true か false)を表現するものです。例えば下図のように、「正の数」という条件があったとします。その条件を満たすもの(1 や 2、10 など)と、満たさないもの(-3 や -6、0 など)、が存在します。
論理演算子を使うと、複数の論理式を評価することができます。論理演算子は下表の通りです。
論理演算子 | 演算子名 | 呼び方 | 意味 |
---|---|---|---|
&& | AND 演算子 (論理積) | かつ | 左辺と右辺の論理式のどちらも満たす |
|| | OR 演算子 (論理和) | または | 左辺または右辺、もしくはその両方を満たす |
! | NOT 演算子 (否定) | でない | NOT 演算子についた論理式を満たさないもの |
論理演算子を図で表すと下のようになります。重なった部分が論理演算を満たす領域です。
AND 演算子
OR 演算子
NOT 演算子
手順
それでは、下図の論理演算をプログラミングしてみましょう。左辺の論理式は正の数(x > 0)、右辺の論理式は偶数(x%2 == 0)とします。
STEP1:C# プログラム(ファイル)を追加する
こちらの記事を参考にして、コンソールアプリ(プロジェクト名:Lesson4)に C# プログラム(ファイル名:Lesson4_4)を追加します。
STEP2:プログラムを記述する
Lesson4_4.cs のプログラムを下記のように変更します。
namespace Lesson4
{
public static class Lesson4_4
{
/// <summary>
/// (1). 論理演算をプログラミング
/// </summary>
public static void Text1()
{
int x = 3;
Console.WriteLine("正の数 && 偶数");
if(x>0 && x%2 == 0)
{
Console.WriteLine(" {0} は、満たします。", x);
}
else
{
Console.WriteLine(" {0} は、満たしません。", x);
}
Console.WriteLine("");
Console.WriteLine("正の数 || 偶数");
if (x > 0 || x % 2 == 0)
{
Console.WriteLine(" {0} は、満たします。", x);
}
else
{
Console.WriteLine(" {0} は、満たしません。", x);
}
Console.WriteLine("");
Console.WriteLine("!正の数");
if (!(x > 0))
{
Console.WriteLine(" {0} は、正の数ではありません。", x);
}
else
{
Console.WriteLine(" {0} は、正の数です。", x);
}
}
}
}
STEP3:動作を確認する
x の値を色々と変えて、以下のことを確認してみましょう。
AND 演算「条件 A && 条件 B」は、どちらの条件も満たす数字(2、10、1000、など)。
OR 演算 「条件 A || 条件 B」 は、どちらか一方、もしくは両方の条件を満たす数字(1、7、2、10、1000、0、-6、など)。
NOT 演算「!条件 A」は、A の条件を満たさない数字(-3、-0.5、0、-6、、-1、-100.4など)。
次に進む
次は、else if 文を使った多分岐について学びます。