論理演算
ここでは、真偽値(論理値)の演算である、論理演算を行う方法を扱います。
論理演算子
複数の比較演算結果などの真偽値(論理値)が、同時に成立しているかなどを調べるためには、論理演算子を使用します。
VCSSLでは、以下のような論理演算子をサポートしています。
記号 | 意味 | 扱える型 | 詳細 |
---|---|---|---|
&& | 論理積 AND (かつ) |
bool | 右の値と左の値が、ともにtrueである場合のみ、結果がtrueとなります。どちらか一方がfalseなら、結果はfalseとなります。 |
|| | 論理和 OR (または) |
bool | 右の値と左の値のうち、どちらか一方がtrueなら、結果はtrueとなります。右の値と左の値が、ともにfalseである場合のみ、結果がfalseとなります。 |
! | 否定 NOT (でない) |
bool | 右側の値がtrueなら、結果はfalseとなります。また、右側の値がfalseなら、結果はtrueとなります。 |
2つの比較結果を調べる
それでは、実際に2 つの比較結果を調べてみましょう:
- 実行結果 -
これを実行すると true が表示されます。 b1 と b2 はともにtrue なので、 b1 && b2 もtrueとなったのです。
それでは、以下のようにするとどうでしょうか:
- 実行結果 -
今度は false が表示されます。 b1は true でしたが、b2は false だったので、 b1 && b2 はfalseとなったのです。このように「&&」演算を用いると、 複数の比較結果が、共に成立している場合のみ、trueを得る事ができます。
比較と論理演算の混合
複数の比較結果を、論理演算で判断するような処理は、プログラミングにおいて頻繁に登場します。 そのたびにbool型変数をいくつも用意するのは大変です。
そこで、以下のように混合記述する事も可能です:
- 実行結果 -
これを実行すると true が表示されます。
複数の論理演算の混合
複数の論理演算を組み合わせて処理するには、以下のように( )を用いて区切る必要があります:
- 実行結果 -
これは ( true && true ) || ( false && false )|| false 、つまり true || false || false の演算となるので、実行するとtrue が表示されます。
否定
比較結果の間逆を求めたい場合があるかもしれません。そのような場合には、否定の記号「!」を使用します:
- 実行結果 -
これを実行すると false が表示されます。