論理演算

論理演算を用いると、条件をand, orで連結して複雑な条件をつくることができます。

論理積 AND

if(age >= 50 && gender == 1)
{
   // 50歳以上でかつgenderが1の場合
}

論理和 OR

if(age == 23 || age == 24)
{
   // ageが23歳か、24歳のとき
}

否定 NOT

!を使うと、式の真偽値をひっくり返すことができます。

if(!(age >= 50))
{
   // 50歳以上でないとき
}

論理演算の組み合わせ

if(!(age >= 50 || age < 20) && gender == 1)
{
   // 50歳以上または20歳未満でなく、かつ、genderが1の人
}

これは、以下のように書いても同じです。(ド・モルガンの法則)

if((age < 50 && age >= 20) && gender == 1)
{
   // 50歳以上または20歳未満でなく、かつ、genderが1の人
   // 転じて、50歳未満かつ20歳以上で、かつ、genderが1の人
}

真理値表

AND

両方の式が真(true)のときのみ、その論理積は真。それ以外は、偽(false)

式1    式2     式1 && 式2
false  false   false
false  true    false
true   false   false
true   true    true

OR

どちらからの式が真(true)であれば、その論理和も真

式1    式2     式1 || 式2
false  false   false
false  true    true
true   false   true
true   true    true

NOT

式の真偽値を反転させます

式1    !式1
false  true
true   false