1-3-2:論理演算と複雑な条件式


・ 複数の条件を同時に考慮して判定を行うには、 ifのブロックの階層的な使用以外の方法もあります。 それは「論理演算」と呼ばれるものの利用です。 論理演算では「論理積」を表す記号 && と 「論理和」を表す記号 || が使用されます。これらの計算記号の前後には boolean型の値がきます。 boolean型のデータは true と false の2個の値のいずれかしか取りませんから、 計算のルールは下記の表のように単純なものになります。

論理積 &&
truefalse
truetruefalse
falsefalsefalse
論理和 ||
truefalse
truetruetrue
falsetruefalse

・ trueを数値の1, falseを数値の0 のように考えると、論理積は数値の掛け算に、 論理和は数値の足し算にほぼ対応しているのがわかるでしょう。
また、条件の判定の意味の面から見ると、論理積は2つの条件の両方が同時に 成り立った時のみ正しいと判定されます(AかつB)。 一方、論理和は2つの条件のどちら一方でも正しければ、正しいと判定されます (AまたはB)。


if( x > 0 && y > 0 ) {

    ......x と y のどちらも正の場合の処理.......
}

if( x > 0  || y > 0 ) {

    ......x か y のどちか一方でも正の場合の処理.......
}