前回のint型(整数型)とfloat(小数型)、変数に変数を代入はどうでしたか。今回は変数をつかった計算をします。
C#で使える算術演算子
演算子 | 種別 | 使い方 |
加算(足す) | + | 1 + 2 |
減算(引く) | - | 3 - 1 |
乗算(かける) | * | 3 * 2 |
除算(割る) | / | 10 / 3 |
剰余算(余り) | % | 3 % 2 |
数学で「+,-,×,÷」ってありましたよね。そいつのC#バージョンが上です。とりあえず使ってみましょ。
前回書いたスクリプトは消してください。
算術演算子を使って計算する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
// Use this for initialization
void Start()
{
Debug.Log(4 + 2); // 足す
Debug.Log(4 - 2); // 引く
Debug.Log(4 * 2); // かける
Debug.Log(4 / 2); // 割る
Debug.Log(4 % 2); // 余り
}
// Update is called once per frame
void Update()
{
}
}
+ | 足す |
- | 引く |
* | かける |
/ | 割る |
% | 余り |
実際に書いて実行してみてください。このように現実世界の数学とおなじように、C#でも計算できます。
このような結果になります。しっかりと計算できていますよね。
変数と算術演算子を使う
算術の結果を代入
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
// Use this for initialization
void Start()
{
int age; // 変数宣言
age = 4 + 2; // 変数に代入
Debug.Log(age); // Consoleに表示
}
// Update is called once per frame
void Update()
{
}
}
変数の宣言 | 型名 変数名; |
変数の代入方法 | 変数名 = 代入する値; |
変数に算術の結果を代入できます。
「int型(整数型)」の「age」という変数に、「4 + 2」の結果を入れています。
スクリプトを書いて、実行してみてください。結果は「6」になります。
「+」の部分を「-」や「/」や「*」に変えて計算してみてください。
変数同士の計算
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
// Use this for initialization
void Start()
{
int age1 = 4; // 変数宣言と代入
int age2 = 5; // 変数宣言と代入
int answer; // 変数宣言
answer = age1 * age2; // 計算
Debug.Log(answer); // Consoleに表示
}
// Update is called once per frame
void Update()
{
}
}
変数の宣言 | 型名 変数名; |
変数の代入方法 | 変数名 = 代入する値; |
変数に変数同士の計算結果をいれています。「answer」変数に「age1」と「age2」のかけ算の結果をいれています。
結果は「20」となります。他の演算子でも試してみてください。
インクリメント【++】とデクリメント【--】
インクリメント | ++ | 1だけ増やす |
デクリメント | -- | 1だけ減らす |
このような演算子もあります。名前が意識高い系の人が使いそうな名前ですが、簡単です。
使ったほうがわかりやすいので、実際にやってみましょう。
インクリメントとデクリメントを使ってスクリプトを書く
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
// Use this for initialization
void Start()
{
int age1 = 5; // 変数宣言と代入
int age2 = 5; // 変数宣言と代入
age1++; // インクリメント
age2--; // デクリメント
Debug.Log(age1); // Consoleに表示
Debug.Log(age2); // Consoleに表示
}
// Update is called once per frame
void Update()
{
}
}
インクリメント | 値(変数)++; | 1だけ増やす |
デクリメント | 値(変数)--; | 1だけ減らす |
結果としては、上になります。
「age1」変数には「5」,「age2」変数には「5」に入っていましたが、前者は「6」後者は「4」になっています。
これはインクリメントとデクリメントによるものです。「age1」はインクリメントによって、1だけ増えました。「age2」はデクリメントによって、1だけ減らされました。
そのため結果は、「age1」は「6」、「age2」は「4」になりました。
●流れ
【age1 = 5】→【インクリメント++】→【age1 = 6】
【age2= 5】→【デクリメント--】→【age2 = 4】
便利な演算子【+=】【-=】【*=】【/=】
「+=」「-=」「*=」「/=」という演算子があります。
「変数名 += 増やしたい値;」で変数の値を増やすことができます。
「変数名 += 増やしたい値;」
「変数名 -= 減らしたい値;」
「変数名 *= かけたい値;」
「変数名 /= 割りたい値;」
こうすることができます。のちのち役立ちますので、頭の片隅に入れておいてください。
【+=】をスクリプトで使う
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
// Use this for initialization
void Start()
{
int age1 = 5; // 変数宣言と代入
int age2 = 5; // 変数宣言と代入
age1 = age1 + 2; // 値を増やす
age2 += 2; // 値を増やす
Debug.Log(age1); // Consoleに表示
Debug.Log(age2); // Consoleに表示
}
// Update is called once per frame
void Update()
{
}
}
結果は【7】と【7】になります。
age1 = age1 + 2;
age2 += 2;
この2つ同じ意味です。どちらも2を増やしています。
「変数名 += 増やしたい値;」と「変数名 = 変数名 + 増やしたい値;」は全く同じ意味を表します。
とりあえず頭の片隅に入れておいてください。
まとめ
- 算術演算子がある
- 変数に算術の結果や変数同士の計算を代入できる
- 1だけ値を増やす「インクリメント(++)」がある
- 1だけ値を減らす「デクリメント(--)」がある
- 値を増やす「+=」がある
「+=」この辺は少しわからなくても大丈夫です。では次の文字列の連結と数値と文字列の連結しよにいきましょ。
コメント