基礎から学ぶC#入門 90日コース | C#基本文法 - Day 2:変数

C# 90日で身につけるC#
スポンサーリンク
スポンサーリンク

Day 2 のゴールと全体イメージ

Day 2 では、C# のプログラムを書くうえで絶対に欠かせない「変数」について学びます。 変数は、プログラムの中で「値を一時的に覚えておくための箱」のようなものです。

学ぶ内容は次のとおりです。

  • 変数とは
  • 変数の宣言
  • 変数への代入
  • 変数名のルール
  • var
  • 定数 const

これらを、初心者の方にも分かりやすいように、例題とコードを交えながらステップバイステップで説明していきます。

変数とは何か

「値を入れておく箱」としてイメージする

変数は、プログラムの中で値を一時的に保存しておくための仕組みです。 イメージとしては、ラベル付きの箱に値を入れておく感じです。

  • 箱のラベル → 変数名
  • 箱の中身 → 値

例えば、年齢を扱いたいときに、

  • 「age」という名前の箱を用意して
  • その中に「30」という値を入れる

というイメージです。

変数の宣言

「箱を用意する」ことが宣言です

変数の宣言とは、「この名前で、この種類の値を入れる箱を用意します」とプログラムに伝えることです。

C# では、基本的に次のような形で宣言します。

型名 変数名;
C#

例えば、整数を入れる変数を宣言する場合は次のようになります。

int age;  // int 型の変数 age を宣言
C#

よく使う基本的な型

初心者の方が最初に覚えておくとよい基本的な型は次のとおりです。

int number;      // 整数(例:1, 0, -5)
double price;    // 小数(例:3.14, 100.5)
bool isActive;   // 真偽値(true / false)
string name;     // 文字列(例:"田中", "Hello")
C#

宣言しただけの段階では、まだ値は入っていません。 「箱だけ用意した状態」です。

変数への代入

「箱に値を入れる」ことが代入です

宣言した変数に値を入れることを「代入」と呼びます。 C# では、= を使って代入します。

int age;      // 宣言
age = 30;     // 代入(age に 30 を入れる)
C#

宣言と代入をまとめて書くこともよくあります。

int age = 30;  // 宣言と代入を同時に行う
C#

代入の例

class Program
{
    static void Main(string[] args)
    {
        int age = 25;              // 年齢を表す変数
        double height = 170.5;     // 身長を表す変数
        bool isStudent = true;     // 学生かどうか
        string name = "佐藤";      // 名前

        Console.WriteLine(name);
        Console.WriteLine(age);
        Console.WriteLine(height);
        Console.WriteLine(isStudent);

        Console.ReadLine();
    }
}
C#

ここでのポイントは、

  • 変数は「値を覚えておくための箱」であること
  • = は「右側の値を左側の変数に入れる」という意味であること

です。

変数名のルール

C# の変数名で守るべき基本ルール

変数名には、いくつかのルールがあります。

主なルール:

  • 英字(A〜Z, a〜z)、数字(0〜9)、_ が使えます
  • 先頭に数字は使えません
  • 空白(スペース)は使えません
  • 記号(@, #, ! など)は基本的に使えません
  • C# の予約語(int, class, if など)は変数名に使えません

例:

int x;          // OK
int count1;     // OK
int _total;     // OK

int 1count;     // NG(先頭が数字)
int my count;   // NG(スペースを含む)
int class;      // NG(予約語)
C#

読みやすい変数名を付ける

ルールを守るだけでなく、「意味が分かる名前」を付けることがとても重要です。

悪い例:

int a;
int b;
int c;
C#

良い例:

int age;          // 年齢
int itemCount;    // 商品数
double totalPrice; // 合計金額
C#

プログラムは「自分だけでなく他人も読むもの」ですので、 変数名は「何を表しているか」が伝わるように付けることを意識するとよいです。

var キーワード

型を推論してくれる便利な書き方

C# には、var というキーワードがあります。 var を使うと、右側の値から型を推論してくれます。

var age = 30;          // int と推論されます
var name = "田中";     // string と推論されます
var price = 3.14;      // double と推論されます
C#

ここでのポイントは、

  • var は「型を省略するためのキーワード」であること
  • 右側の値からコンパイラが型を判断すること

です。

var を使うときの注意

var は便利ですが、使いすぎると「型が分かりにくくなる」ことがあります。

悪い例:

var x = GetSomething();  // GetSomething が何を返すのか分からないと、x の型も分かりにくい
C#

初心者の方は、まずは

  • 基本的な型(int, double, bool, string)を明示的に書く
  • 慣れてきたら、型が明らかに分かる場面で var を使う

というスタイルがおすすめです。

定数 const

「変えてはいけない値」を表す

変数は「後から値を変えられる箱」ですが、 プログラムの中には「絶対に変えてはいけない値」もあります。

例えば、消費税率や円周率などです。

そのような値を表すのが 定数(constant) で、 C# では const キーワードを使います。

const double Pi = 3.14159;       // 円周率
const double TaxRate = 0.10;     // 消費税率 10%
C#

定数は、一度値を設定すると、後から変更することはできません。

const int MaxCount = 100;
MaxCount = 200;  // コンパイルエラー:定数は変更できません
C#

変数と定数の違い

int count = 10;       // 変数:後から変更可能
count = 20;           // OK

const int Limit = 10; // 定数:後から変更不可
// Limit = 20;        // NG(コンパイルエラー)
C#

定数を使うメリットは、

  • 「この値は変えてはいけない」という意図がコードから伝わる
  • 間違って変更してしまうことを防げる

という点です。

変数・var・const の総合例

シンプルな計算プログラムで確認する

次の例では、

  • 変数の宣言と代入
  • var の利用
  • const の利用

をまとめて確認します。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 定数の宣言(消費税率)
        const double TaxRate = 0.10;  // 10% の消費税

        // 変数の宣言と代入
        int price = 1000;             // 商品の価格
        int quantity = 2;             // 個数

        // var を使った変数(型はコンパイラが推論します)
        var subtotal = price * quantity;        // 小計(int)
        var tax = subtotal * TaxRate;           // 消費税額(double)
        var total = subtotal + tax;             // 合計金額(double)

        Console.WriteLine($"単価:{price} 円");
        Console.WriteLine($"個数:{quantity} 個");
        Console.WriteLine($"小計:{subtotal} 円");
        Console.WriteLine($"消費税:{tax} 円");
        Console.WriteLine($"合計:{total} 円");

        Console.ReadLine();
    }
}
C#

ここでのポイントは、

  • pricequantity は「変わりうる値」なので変数として宣言していること
  • TaxRate は「変えてはいけない値」なので const として宣言していること
  • subtotal, tax, total は右側の式から型が明らかなので var を使っていること

です。

Day 2 のまとめ

Day 2 では、C# の基本中の基本である「変数」について、

  • 変数とは → 値を入れておく箱
  • 変数の宣言 → 「型」と「名前」を指定して箱を用意する
  • 変数への代入 → = を使って値を箱に入れる
  • 変数名のルール → 先頭に数字は使わない、予約語は使わない、意味の分かる名前を付ける
  • var → 右側の値から型を推論してくれる便利な書き方
  • 定数 const → 一度決めたら変えてはいけない値を表す

という内容を、具体的なコードとともに確認しました。

変数は、これから学ぶ

  • 条件分岐
  • ループ
  • メソッド
  • クラス

など、すべての基礎になります。

ぜひ、

  • 自分でいくつか変数を宣言して値を代入してみる
  • var と明示的な型の両方を試してみる
  • const を使って「変えてはいけない値」を表現してみる

といった練習を通して、「値を箱に入れて扱う感覚」を体に馴染ませていってください。


Day 2 ミニ課題のゴール

Day 2 のミニ課題では、「プロフィール表示プログラム」を題材にして、 変数の基本を実際のコードで体験していきます。

扱うポイントは次のとおりです。

  • 変数とは
  • 変数の宣言
  • 変数への代入
  • 変数名のルール
  • var
  • 定数 const

これらを、プロフィールという身近な題材に乗せて、ステップバイステップで確認していきます。

プロフィール表示プログラムを日本語で設計する

まずは「プロフィールに何を書くか」を決める

プロフィール表示プログラムでは、例えば次のような情報を表示するとします。

  • 名前
  • 年齢
  • 身長
  • 職業
  • 自己紹介文

これを C# の変数で表現して、最後にまとめて表示する、という流れを作ります。

変数でプロフィール情報を表現する

変数の宣言と代入を組み合わせる

まずは、プロフィールに必要な情報を変数として宣言し、値を代入します。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 名前(文字列)
        string name = "佐藤太郎";  // string 型の変数 name を宣言し、「佐藤太郎」を代入

        // 年齢(整数)
        int age = 28;              // int 型の変数 age を宣言し、28 を代入

        // 身長(小数)
        double height = 172.5;     // double 型の変数 height を宣言し、172.5 を代入

        // 職業(文字列)
        string job = "エンジニア"; // 職業を表す変数 job

        // 自己紹介文(文字列)
        string intro = "C# を勉強中です。趣味は読書とランニングです。";

        // ここからプロフィールを表示していきます
    }
}
C#

ここでの重要ポイントは、

  • 「何を表すか」に応じて型を選んでいること(名前・職業は string、年齢は int、身長は double
  • 宣言と代入を同時に書くことで、コードが読みやすくなっていること

です。

変数名のルールと「意味のある名前」

読みやすさを意識した変数名

プロフィールプログラムでは、次のような変数名が自然です。

  • name → 名前
  • age → 年齢
  • height → 身長
  • job → 職業
  • intro → 自己紹介

悪い例として、次のような書き方があります。

string a = "佐藤太郎";
int b = 28;
double c = 172.5;
string d = "エンジニア";
string e = "C# を勉強中です。";
C#

これでは、「a が何を表しているのか」がコードから読み取れません。

良い例は、先ほどのように「意味が伝わる名前」を付けることです。

string name = "佐藤太郎";
int age = 28;
double height = 172.5;
string job = "エンジニア";
string intro = "C# を勉強中です。";
C#

変数名のルール(先頭に数字を使わない、予約語を使わないなど)を守りつつ、 「何を表しているか」が分かる名前を付けることが、読みやすいコードへの第一歩です。

プロフィールを表示する

Console.WriteLine と変数の組み合わせ

宣言した変数を使って、プロフィールを表示してみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        string name = "佐藤太郎";
        int age = 28;
        double height = 172.5;
        string job = "エンジニア";
        string intro = "C# を勉強中です。趣味は読書とランニングです。";

        Console.WriteLine("=== プロフィール ===");
        Console.WriteLine($"名前:{name}");
        Console.WriteLine($"年齢:{age} 歳");
        Console.WriteLine($"身長:{height} cm");
        Console.WriteLine($"職業:{job}");
        Console.WriteLine($"自己紹介:{intro}");

        Console.ReadLine();
    }
}
C#

ここでのポイントは、

  • 変数に入れた値を、Console.WriteLine の中で {} を使って埋め込んでいること
  • 文字列と変数を組み合わせることで、「人間が読める形」に整えていること

です。

var を使った書き方を試す

型が明らかなところで var を使う

同じプロフィールプログラムを、var を使って書き直してみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 右側の値から型が明らかな場合に var を使います
        var name = "佐藤太郎";                     // string と推論されます
        var age = 28;                              // int と推論されます
        var height = 172.5;                        // double と推論されます
        var job = "エンジニア";                    // string と推論されます
        var intro = "C# を勉強中です。趣味は読書とランニングです。";

        Console.WriteLine("=== プロフィール ===");
        Console.WriteLine($"名前:{name}");
        Console.WriteLine($"年齢:{age} 歳");
        Console.WriteLine($"身長:{height} cm");
        Console.WriteLine($"職業:{job}");
        Console.WriteLine($"自己紹介:{intro}");

        Console.ReadLine();
    }
}
C#

ここでの重要ポイントは、

  • var は「型を省略するためのキーワード」であり、右側の値から型が決まること
  • 型が明らかな場面ではコードがすっきりすること
  • ただし、初心者のうちは「型を意識するために、intstring を明示的に書く」練習も大事であること

です。

定数 const をプロフィールに取り入れる

変えてはいけない値を定数にする

プロフィールの中には、「変える可能性が低い値」もあります。 例えば、「サービス名」や「バージョン番号」などです。

ここでは、プロフィール表示プログラムの「タイトル」を定数として表現してみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 定数:プログラムのタイトル(変える予定のない値)
        const string Title = "プロフィール表示プログラム";

        string name = "佐藤太郎";
        int age = 28;
        double height = 172.5;
        string job = "エンジニア";
        string intro = "C# を勉強中です。趣味は読書とランニングです。";

        Console.WriteLine($"=== {Title} ===");  // 定数を使ってタイトルを表示
        Console.WriteLine($"名前:{name}");
        Console.WriteLine($"年齢:{age} 歳");
        Console.WriteLine($"身長:{height} cm");
        Console.WriteLine($"職業:{job}");
        Console.WriteLine($"自己紹介:{intro}");

        Console.ReadLine();
    }
}
C#

ここでのポイントは、

  • const string Title = "プロフィール表示プログラム"; で「変えてはいけない値」を明示していること
  • 定数は一度決めたら後から変更できないため、誤って書き換えることを防げること
  • 「この値は固定です」という意図がコードから読み取れること

です。

ミニ課題の完成版コード

変数・var・const をすべて取り入れたプロフィール表示

最後に、Day 2 の学びをすべて盛り込んだ完成版の例を示します。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 定数:プログラムタイトル
        const string Title = "プロフィール表示プログラム";

        // 変数の宣言と代入(型を明示)
        string name = "佐藤太郎";                 // 名前
        int age = 28;                             // 年齢
        double height = 172.5;                    // 身長
        string job = "エンジニア";                // 職業

        // var を使った変数(型が明らかな自己紹介文)
        var intro = "C# を勉強中です。趣味は読書とランニングです。";

        Console.WriteLine($"=== {Title} ===");
        Console.WriteLine($"名前:{name}");
        Console.WriteLine($"年齢:{age} 歳");
        Console.WriteLine($"身長:{height} cm");
        Console.WriteLine($"職業:{job}");
        Console.WriteLine($"自己紹介:{intro}");

        Console.ReadLine();
    }
}
C#

このコードの中には、

  • 変数とは → 名前・年齢・身長・職業・自己紹介を入れておく「箱」
  • 変数の宣言 → string name;int age; のように型+名前で箱を用意
  • 変数への代入 → name = "佐藤太郎"; のように値を入れる
  • 変数名のルール → 意味が分かる英単語で名前を付ける
  • var → 型が明らかな場面で省略して書く
  • 定数 const → タイトルのような「変えてはいけない値」を表現する

という Day 2 の学習項目がすべて含まれています。

Day 2 ミニ課題のまとめ

プロフィール表示プログラムを通して、

  • 変数を使って「人の情報」を表現する
  • 宣言と代入を組み合わせて、値を箱に入れる
  • 読みやすい変数名を付ける
  • var で型推論を体験する
  • const で「変えてはいけない値」を明示する

という流れを確認しました。

このような小さなプログラムでも、 変数の使い方次第で「読みやすさ」や「意図の伝わりやすさ」が大きく変わります。

ぜひ、

  • 自分のプロフィールに書き換えてみる
  • 追加で「出身地」「好きな言語」などの項目を増やしてみる
  • 定数を使って「サービス名」「バージョン」などを追加してみる

といったアレンジをしながら、変数の感覚をさらに深めていってください。

タイトルとURLをコピーしました