比較演算
ここでは、変数や値を比較する方法を扱います。
比較演算子
プログラムでは、値の大小を比較して、その結果によって異なる処理に分岐させたい場合などが頻繁に生じます。 このような処理を行うのが、比較演算子です。VCSSLには、以下のような比較演算子が用意されています。
記号 | 意味 | 扱える型 | 詳細 |
---|---|---|---|
< | 左より右が大きいか? | int, float, varint, varfloat |
演算記号の左右にある、2つの値の大小関係を比較します (※)。 |
> | 左より右が小さいか? | int, float, varint, varfloat |
演算記号の左右にある、2つの値の大小関係を比較します。 |
<= | 左より右が大きいか、もしくは等しいか? | int, float, varint, varfloat |
演算記号の左右にある、2つの値の大小関係を比較します。 |
>= | 左より右が小さいか、もしくは等しいか? | int, float, varint, varfloat |
演算記号の左右にある、2つの値の大小関係を比較します。 |
== | 左と右は等しいか? | int, float, varint, varfloat, string, struct |
演算記号の左右にある、2つの値が一致するかを確かめます。 |
!= | 左と右は異なるか? | int, float, varint, varfloat, string, struct |
演算記号の左右にある、2つの値が異なるかを確かめます。 |
※ 比較演算の結果は、全て bool 型となります。
bool型について
上の表にも述べられている通り、比較演算の結果はbool型となります。 bool型は、「true(真)」と「false(偽)」の2つの値をとるデータ型で、一般に真偽型などとも呼ばれます。
真や偽というのは一般にあまりピンとこない言葉ですが、 つまるところ真は「YES」で、偽は「NO」の事だと思っても差し支えないでしょう。
比較を行う
それでは、実際に比較演算を行ってみましょう。 ここでは、「左より右が大きいか?」を調べる記号「<」を使ってみましょう:
- 実行結果 -
これを実行すると、 true が表示されます。 trueはつまり YESのことなので、「左より右が大きいか?」の答えとしてYESが得られた事になります。
これに対して、以下の例ではどうなるでしょう:
- 実行結果 -
これを実行すると、 false が表示されます。 falseはつまり NOのことなので、「左より右が大きいか?」の答えとしてNOが得られた事になります。
一致を確かめる
続いて、値の一致を確かめてみましょう。ここでは、「左と右は等しいか?」を調べる記号「==」を使ってみましょう:
- 実行結果 -
これを実行すると、 true が表示されます。
これに対して、以下の例ではどうなるでしょう:
- 実行結果 -
この場合は false が表示されます。
また、以下のようにして不一致を確認する事もできます:
- 実行結果 -
この場合は true が表示されます。つまり「左と右は異なるか?」の結果としてYESが得られたわけです。
ところで、こういった条件判定は、後に扱う否定演算子「 ! 」を使用して記述する事もできます。 否定演算子は、その後ろが真ならば偽を、偽ならば真を返します。
例えば、「左と右は異なるか?」は「左と右は等しいか?」の逆なので、 上のプログラムと同一の結果を返すものとして、以下のように記述する事も可能です。
- 実行結果 -
この場合も同じ意味の条件となるので、 true が表示されます。