論理演算
論理演算を用いると、条件を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

