コンテンツへスキップ

【C# の基本】レッスン2:③ 文字型、論理型


概要

このページでは、文字型と論理型について学習します。

値型の変数型の名前範囲サイズ(bit)
整数型byte(sbyte)
short(ushort)
int(uint)
long(ulong)
0 ~ 255(-128 ~ 127)
-32,768 ~ 32,767(0 ~ 65,535)
-2,147,483,648 ~ 2,147,483,647(0 ~ 4,294,967,295)
-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807(0 ~ 18,446,744,073,709,551,615)
8
16
32
64
浮動小数点型float
double
±1.5 x 10−45 から ±3.4 x 1038
±5.0 × 10−324 – ±1.7 × 10308
32
64
decimal 型decimal
±1.0 x 10-28 から ±7.9228 x 1028
128
文字型charシングルクォーテーションで囲まれた1文字を格納する16
論理型boolブール値 (true または false のいずれか)8

文字型とは、1文字だけを入れることができる型のことです。char 型といいます。シングルクォーテーション(’)で文字をくくります。

char kana = 'ア';
char kanji = '亜';
char num = '0';

論理型は、true または false のいずれかの値しか持つことができません。2種類しか値が持てないのは不便に感じるかもしれませんが、プログラミングの世界では、true(真)か false(偽)か、だけが分かればよい場面はとても多いです。例えば、①体力が1よりも小さいかどうかという条件に対して、真ならばゲームオーバー偽ならばゲームを続ける、②右矢印キーが押されたかどうかという条件に対して、真ならばプレイヤーは右に移動する、偽ならば右に移動しない、といった感じです。

// ① の例
bool isGameOver = HP < 1;
if(isGameOver ) {
   // ゲームオーバーの処理
}
else {
   // ゲームを続ける処理
}
// ② の例
bool inputRightKey = Input.GetKey(“right”);
if(inputRightKey) {
   // 右に移動する処理
}

STEP1:プログラムを記述する

Lesson2_3.cs のプログラムを下記のように変更します。

namespace Lesson2
{
    public class Lesson2_3
    {
        /// <summary>
        /// (1). 文字型に色々な文字を入れてみる
        /// </summary>
        public static void Text1()
        {
            char alphabet = 'a';
            char symbol = '+';
            char kanji = '亜';
            char kana = 'ア';
            char hiragana = 'あ';
            char num = '0';
            var keisan = num + symbol + num;
            Console.WriteLine("alphabet:{0}", alphabet);
            Console.WriteLine("symbol:{0}", symbol);
            Console.WriteLine("kanji:{0}", kanji);
            Console.WriteLine("kana:{0}", kana);
            Console.WriteLine("hiragana:{0}", hiragana);
            Console.WriteLine("num:{0}", num);
            Console.WriteLine("0+0={0}",keisan);
            Console.WriteLine("");
        }
    }
}

Program.cs のファイルの中身を下記に置き換えます。

namespace Lesson2
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //Lesson2_1.Text1();

            /*
            Lesson2_2.Text1();
            Lesson2_2.Text2();
            Lesson2_2.Text3();
            Lesson2_2.Text4();
            Lesson2_2.Text5();

            Lesson2_2.Kadai1();
            Lesson2_2.Kadai2();
            Lesson2_2.Kadai3();
            */

            Lesson2_3.Text1();
        }
    }
}

STEP2:動作を確認する

色々なパターンで足し算をしています。どのような結果になったかひとつずつ確認してみてください。その際に、Visual Studio のデバッグ実行を活用して変数の型についても調べてみてください(下表の右側「種類」)。

2

課題① – 1:倒した敵の数を表示する(偶数か奇数か)

「EnemyController.cs」ファイルの 34行目「OnCollisionEnter2D」メソッドの「PlayerEnemyCollision」というクラス名を右クリックします。メニューが出てくるので、「定義へ移動」をクリックします。

kadai1

Debug.Log を使って、倒した敵の数が偶数か奇数かを表示したいと思います。以下のコードを下図の赤枠の部分に追記しましょう。倒した敵の数を数えるプログラムはこちらを参考にしてください。

if(enemyDeathCount % 2 == 0) // 左辺は、2で割ったときの余りを計算
{
    Debug.Log("倒した敵の数は偶数です。");
}
else
{
    Debug.Log("倒した敵の数は奇数です。");
}
1

ここまでできたら、Unity でゲームを実行してみてください。敵を倒すと、倒した敵の数が偶数か奇数か表示されますか?

2

次に進む

値型の変数について学びました。次は、演算子について学習します。代表的な演算子は、「+」や「ー」などの算術演算子です。