算術演算子『%』
「算術演算子」とは、数値を用いた計算に使用される演算子のことです。
「%」は “除算” をして”余り”を取得するための演算子で、算数で習う割り算の余りのことです。
もくじ
具体例
1 |
int x = 5 % 2; |
このように書くと、「5 ÷ 2」の”余り”である「1」が変数xに代入されます。
“商”は無視されて”余り”の値が変数に代入されることに注意してください。
実践編1
では、この”余り”を取得する演算子「%」はどういったときに利用されるのかというと、
たとえば、値が偶数のときにのみ処理を行いたい場合に利用することができます。
偶数というのは、2で割ると余りが0になる整数のことですね。
ということは、
1 2 3 4 5 6 |
int x = 12; if(x % 2 == 0) { // xが偶数の時の処理 } |
このように書くことができるわけです。
“xの値を2で割ったときの余り”が0と等しければ、if文の中に入り処理が実行されます。
実践編2
また、こんな場合にも利用されます。
以下のような表があり、特定の数字が何行目の何列目にあるかを調べる場合です。
例えば「23」を見てみましょう。
1 2 3 4 5 6 |
const int MaxColumn = 5; // 最大の列数 int targetNum = 23; // 目的の数字 int targetRow = targetNum / MaxColumn ; // 目的の数字の行数 int targetColumn = targetNum % MaxColumn ; // 目的の数字の列数 |
このように、”最大の列数”が分かっていれば、目的の数字の列数と行数を求めることができます。
行数は「目的の数字 / 最大の列数」で、
列数は「目的の数字 % 最大の列数」で求められます。
今回新しく出てきた「const」についてです。
「変数」と「//」に関しては、第1回で説明しましたね。
・変数を宣言するときに、型の前に「const」を付けると、”変数”が”定数”へと変わる
“定数”とは、値の変更ができないものであり、ゲーム中にその値を変更することはできません。
今回は、”最大の列数”を「定数」に設定していますが、”最大の列数”というのはゲーム中で変わらないですよね。こういったゲーム中に変化しない値を定数に設定しておきます。
“定数”の注意点として、
『定数』は宣言時に、必ず初期化を行わなければならない
先ほども言った通り、初期化した値を途中で変更することはできません。