演算子
演算子を用いることで様々な演算を行うことができます
Arduino言語には様々な演算子がありますが、このセクションでは算術演算子、比較演算子、論理演算子と一部の複合演算子の説明を行います
算術演算子
数値を計算することのできる演算子です
| 算術演算子 | 例 | 例の演算結果 | 意味 |
|---|---|---|---|
| + | 1 + 2 | 3 | 足し算 |
| - | 2 - 1 | 1 | 引き算 |
| * | 2 * 2 | 4 | 掛け算 |
| / | 10 / 5 | 2 | 割り算 |
| % | 3 % 2 | 1 | 割り算の余り |
| = | a = 5 | aは5 | 代入 |
複合演算子
変数に対して代入と計算を同時に行うことのできる演算子です
複合演算子を使うことでプログラムを簡潔に記述することができます
| 複合演算子 | 例 | 意味 |
|---|---|---|
| ++ | a++ | a = a + 1 |
| – | a– | a = a - 1 |
| += | a += 2 | a = a + 2 |
| -= | a -= 2 | a = a - 2 |
| *= | a *= 2 | a = a * 2 |
| /= | a /= 2 | a = a / 2 |
| %= | a %= 2 | a = a % 2 |
++ (インクリメント)と -- (デクリメント)は ++a のように、変数の前に置くこともできますが、意味が変わります
int a = 0;
int b = 1;
a = b++; // a = 1, b = 2 となり、代入=>インクリメント となる
a = ++b; // a = 2, b = 2 となり、インクリメント=>代入 となる
上記の例のように、インクリメントやデクリメントをした変数の値をほかの変数に代入する場合に、代入結果が変わることに注意してください
比較演算子
二つの値を比較することができる演算子です
主に if文 で使用します
| 比較演算子 | 例 | 意味 |
|---|---|---|
| == | a == b | aとbが等しいか |
| != | a != b | aとbが等しくないか |
| < | a < b | aはb未満か |
| > | a > b | aはbより大きいか |
| <= | a <= b | aはb以下か |
| >= | a >= b | aはb以上か |
演算の結果は bool で返ってくるので変数に代入することも可能です
bool var = a == b;
論理演算子
真偽値(boolean)を扱うことができる演算子です
論理演算を行います
複数の条件を組み合わせた分岐処理を作成したいときなどに使用します
| 論理演算子 | 例 | 意味 |
|---|---|---|
| ! | !a | NOT |
| && | a && b | AND |
| || | a || b | OR |
bool t = true;
bool f = false;
bool not = !t; // false
bool and = t && f; // false
bool or = t || f; // true
また、これらの演算子を用いた式は () でまとめることができます
bool exam = (true && false) || (false || true); // true
int n = 5 * (9 + 1); // 10