演算子についての記述例です。演算子を組み合わせて使用する事もできます。
アクティビティのプロパティにVBの式として設定したり、判定時の条件として使用します。これらの演算子は組み合わせて使うこともできます。組み合わせて使用した場合、左から順に解釈されますが、演算子の優先される順を考慮する必要があります。丸括弧( )を使用する事で優先する順を指定できます。演算子を組み合わせて使用する場合、適宜丸括弧( )を用いた方が想定した演算を確実に行う事ができます。
1.算術演算子
四則演算を含む計算を行う演算子です。計算規則も四則演算と同じ「乗算や除算は、加算や減算よりも先」となります。計算の順序を指定する場合、四則演算と同じく丸括弧( )を使用します。
演算子 | 記述例と演算結果 | ||
+ | 足し算(加算) | 20 + 10 | 30 |
- | 引き算(減算) | 20 - 10 | 10 |
* | 掛け算(乗算) | 20 * 10 | 30 |
/ | 割り算(除算) | 30 / 20 | 1.5 |
¥ | 割り算の答え(商) | 30 ¥ 20 | 1 |
Mod | 割り算の余り(剰余) | 30 Mod 20 | 10 |
^ | 累乗(べき乗) | 2 ^ 10 | 1024 |
2.文字列の連結演算子
「+」 演算子には数値の加算だけでなく、文字列を連結する機能もあります。String型(文字列)と String型(文字列)を「+」 演算子で演算した場合の結果は、連結された文字列となります。数値が文字列として格納されているString型の場合も、加算されず連結された文字列となります。文字列の連結には「+」演算子の他に「&」演算子を使うこともできます。
演算子 | 記述例と演算結果 | ||
+ | 文字列連結演算子 | "コボット" + "Studio" | "コボットStudio" |
"2020" + "10" | "202010" | ||
& | 文字列連結演算子 | "コボット" & "Studio" | "コボットStudio" |
"2020" & "10" | "202010" |
3.比較演算子
関係演算子とも呼ばれます。演算子が表す関係が成り立つ場合は真(True)を、成り立たない場合は偽(False)を返します。比較演算子の中に優先順位はありません。論理演算子と用いられた場合は、比較演算子が優先されます。
演算子 | 記述例と演算結果 | ||
= | 同じ(等号) | 10 = 10 | True |
20 = 10 | False | ||
<> | 異なる(不等号) | 20 <> 10 | True |
10 <> 10 | False | ||
< | より小さい(小なり) | 10 < 11 | True |
10 < 10 | False | ||
> | より大きい(大なり) | 11 > 10 | True |
10 > 10 | False | ||
<= | 以下 | 10 <= 10 | True |
10 <= 9 | False | ||
>= | 以上 | 10 >= 10 | True |
10 >= 11 | False |
4.論理演算子
論理値(True・False)に対して演算を行います。複数の条件を組み合わせて判定する場合などに使用されます。比較演算子と一緒に用いた場合、比較演算子が優先されます。論理演算子が同時に記述されている場合、優先される順は「Not → And → Or → Xor」となります。優先する順を指定したい場合、丸括弧( )を使用します。ひとつひとつの演算子を見ていきましょう。
Not
「論理否定」の演算子です。「Not 条件A」と記述します。「条件Aではない」という意味で、条件AがTrueの場合は False、条件Aが Falseの場合は True のように逆転した演算結果となります。たとえば値が「奇数」と判定したい条件式を考えてみましょう。「2で割ったときの余りが0ではない」値を奇数と判定できます。これを式にすると「Not 値 Mod 2 = 0」となり、値が奇数の場合「True」と判定する事ができます。
条件A | 演算結果 Not A | Not var Mod 2 = 0 を演算する例 |
True | False | var が 10 の場合「10 Mod 2 = 0」の演算結果は True となる。「Not True」を演算するため、この式の演算結果は False となる。 |
False | True | var が 5 の場合「5 Mod 2 = 0」の演算結果は False となる。「Not False」を演算するため、この式の演算結果は True となる。 |
And
「かつ(論理積)」の演算子です。「条件A And 条件B」と記述します。条件A 及び 条件Bが共に True の場合のみ演算結果がTrueとなります。たとえば値が「偶数で かつ 100 より小さい」かを判定したい条件式を考えてみましょう。「2で割ったときの余りが 0 で かつ 100 より小さい」を満たす場合となります。これを式にすると「(値 Mod 2 = 0) And (値 < 100) 」となり、この演算結果が True となる値が「偶数で かつ 100 より小さい」と判定できます。
条件A | 条件B | 演算結果 A And B | (var Mod 2 = 0) And (var < 100) を演算する例 |
True | True | True | var が 60 の場合「60 Mod 2 = 0」「60 < 100」の演算結果はともに True となる。「True And True」を演算するため、この式の演算結果は True となる。 |
True | False | False | var が 100 の場合「100 Mod 2 = 0」の演算結果は True、「100 < 100」の演算結果は False となる。「True And False」を演算するため、この式の演算結果は False となる。 |
False | True | False | var が 3 の場合「3 Mod 2 = 0」の演算結果は False、「3 < 100」の演算結果は True となる。「False And True」を演算するため、この式の演算結果は False となる。 |
False | False | False | var が 101 の場合「101 Mod 2 = 0」の演算結果は False、「101 < 100」の演算結果は False となる。「False And False」を演算するため、この式の演算結果は False となる。 |
Or
「または(論理和)」の演算子です。「条件A Or 条件B」と記述します。条件A 及び 条件Bのいずれかが True の場合、演算結果が True となります。たとえば値が「偶数と1000より大きい場合のすべて」を対象にしたい場合の条件式を考えてみましょう。「偶数 または 1000 より大きい」ことを満たす場合となります。これを式にすると「(値 Mod 2 = 0) Or (値 > 1000) 」となり、この演算結果が True となる値が「偶数と1000より大きい場合のすべて」に該当していると判定できます。
条件A | 条件B | 演算結果 A Or B | (var Mod 2 = 0) Or (var > 1000) を演算する例 |
True | True | True | var が 1020 の場合「1020 Mod 2 = 0」「1020 > 1000」の演算結果はともに True となる。「True Or True」を演算するため、この式の演算結果は True となる。 |
True | False | True | var が 100 の場合「100 Mod 2 = 0」の演算結果は True、「100 > 1000」の演算結果は False となる。「True Or False」を演算するため、この式の演算結果は True となる。 |
False | True | True | var が 1001 の場合「1001 Mod 2 = 0」の演算結果は False、「1001 > 1000」の演算結果は True となる。「False Or True」を演算するため、この式の演算結果は True となる。 |
False | False | False | var が 1 の場合「1 Mod 2 = 0」の演算結果は False、「1 > 1000」の演算結果は False となる。「False Or False」を演算するため、この式の演算結果は False となる。 |
Xor
「排他的論理和」の演算子です。「条件A Xor 条件B」と記述します。条件A 及び 条件Bのいずれか片方のみTrueの場合に 演算結果が Trueとなります。あまり使われません。
条件A | 条件B | 演算結果 A Xor B | (var Mod 2 = 0) Xor (var > 1000) を演算する例 |
True | True | False | var が 1020 の場合「1020 Mod 2 = 0」「1020 > 1000」の演算結果はともに True となる。「True Xor True」を演算するため、この式の演算結果は False となる。 |
True | False | True | var が 100 の場合「100 Mod 2 = 0」の演算結果は True、「100 > 1000」の演算結果は False となる。「True Xor False」を演算するため、この式の演算結果は True となる。 |
False | True | True | var が 1001 の場合「1001 Mod 2 = 0」の演算結果は False、「1001 > 1000」の演算結果は True となる。「False Xor True」を演算するため、この式の演算結果は True となる。 |
False | False | False | var が 1 の場合「1 Mod 2 = 0」の演算結果は False、「1 > 1000」の演算結果は False となる。「False Xor False」を演算するため、この式の演算結果は False となる。 |