ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Unity入門 - C#スクリプトの文法②演算子 -

初めに

 +や-、=、&、^など演算子の使い方について、解説いたします。

算術演算子




記号 意味 使い方 結果
加算(足し算) 2 + 3 5
減算(引き算) 5 - 1 4
乗算(掛け算) 2 * 5 10
/ 除算(割り算) 8 / 2 4
剰余(余り) 11 % 4 3

 +と-は説明不要だと思います。プログラミング言語では掛け算を×ではなく、*で表します。また、割り算を÷ではなく分数のように/(スラッシュ)で表します。
 剰余は余りのことです。11 % 4は11を4で割った余りである3になります。

除算の注意点

 数にはint型(整数)とfloat型やdouble型(小数)がありました。float/floatは問題なく計算してくれますが、int/intをすると、小数点以下を切り捨てした数字がでてきます。

int a = 6;
int b = 10;
int c = a / b * 100;  //cの値は0になる

float d = 6.0f;
float e = 10.0f;
float f = d / e * 100f;  //fの値は100になる

 上記のようにint型で割り算をすると、6/10は0となるので、求めていた数値が出ない場合があります。int型の割り算は小数点以下切り捨てであることに注意しましょう。

二項関係演算子・二項等値演算子

 二つの変数の関係を見て、bool型(true、false)で返します。

記号 使い方 意味
== x == y x と y が等しければtrue
!= x != y x と y が異なっていればtrue
> x > y x が y より大きければtrue
< x < y x が y より小さければtrue
>= x >= y x が y 以上であればtrue
<= x <= y x が y 以下であればtrue

代入演算子

 変数に値を代入するときに使います。左の変数に右の値を代入します。

意味
x = y x に y を代入
x += y x に y を足した値を x に代入
x -= y x にからy を引いた値を x に代入
x *= y x に y を掛けた値を x に代入
x /= y x を y で割った値を x に代入
x %= y x を y で割った値を x に代入
int a = 6;
int b = 4;

a += b //6 + 4 で a = 10
a -= b  //10 - 4 でa = 6
a *= b // 6 * 4 で a = 24
a /= b  //24 / 4 で a = 6
a %= b //6 % 4 で a = 2

インクリメント・デクリメント

名前 使用例 結果
++x 前置きインクリメント int y = ++x xを1増やし、yにxを代入
x++ 後置きインクリメント int y = x++ yにxを代入し、xを1増やす
--x 前置きデクリメント int y = --x xを1減らし、yにxを代入
x-- 後置きデンクリメント int y = x-- yにxを代入し、xを1減らす

 ++は1増やす、--は1減らすことを意味します。また、前置きは先に増減させてから代入、後置きは代入してから増減させることになります。

int a_1 = 7;
int b_1 = ++a_1   //a_1 = 8, b = 8

int a_2 = 7
int b_2 = a_2++  //a_2 = 8, b_2 = 7

int a_3 = 7
int b_3 = --a_3  //a_3 = 6, b_3 = 6

int a_4 = 7
int b_4 = a_4--  //a_4 = 6, b_4 = 7

論理演算子

意味
x & y x と y の論理積を計算 ともにtrueならばtrue。それ以外はfalse
x | y x と y の論理和を計算 どちらかがtrueならばtrue。それ以外はfalse
!x x の論理否定を計算 xがtrueならばfalse、falseならばtrueを返す
x ^ y x と y の排他的論理和を計算 論理和の否定を返す

 論理演算はtrue、falseの演算になります。高校数学で学ぶ "かつ" や "または" を使ったものです。

bool x = true;
bool y = true;
bool z = flase;

bool a = x & y  //trueかつtrueはtrue
bool b = x & z  //trueかつfalseはfalse
bool c = x | y  //trueまたはtrueはtrue
bool d = x | z //trueまたはfalseはtrue
bool e = x ^ y  //x | y = trueなのでfalse
bool f = x ^ z  //x | z = trueなのでfalse
bool g = !x  //x = trueなのでfalse
bool h = !z  //z = falseなのでtrue

最後に

 演算子について、解説いたしました。今後、if文やwhile文など条件分岐にもでてきますので、押さえておきましょう。
 なお、本記事を作成する際、下記サイトを参考にしました。
ufcpp.net