『変数』はC#に限らず、ほとんどプログラミング言語で使われるモノです。
なので、変数を扱えることはプログラミング上で、基礎中の基礎になります。
本記事ではそんな変数の『型の種類・使い方(宣言・代入)』について解説していきます。
変数とは
変数とは数値や文字列を保管する”箱(容器)”のようなモノです。
そして、その箱に名前を付け(変数名)、コード上で何の値かが理解しやすくすることができるようになっています。
1 2 3 |
string name; //「name」という変数を作っている name = "田中太郎" //nameに「田中太郎」を入れている |
そして、変数には『型』というモノがあり、「どのような種類の値が入るか」を宣言時に指定する必要があります。
つまり、数値専用・文字列専用といった「この箱には〇〇の値しか入れられないよ」という指定が変数には必要だということです。
ポイント・変数は値を入れる箱のようなモノで、値に名前を付けることができる。
・1つの変数に1つの値しか入れられない。
・「〇〇値専用」といった『型』がある変数にはある。
型の種類
ここでは代表的な変数の型を紹介します。
整数型
整数型とは名前の通り整数を扱う型です。
そして、「符号あり・符号なし」それぞれで4種類ずつあり、合計で8種類あります。
その整数型は下の通りです。
整数型 | 表示範囲 |
sbyte | -128 ~ 127 |
byte | 0 ~ 255 |
short | -32,768 ~ 32,767 |
ushort | 0 ~ 65,535 |
int | -2,147,483,648
~ 2,147,483,647 |
uint | 0 ~ 4,294,967,295 |
long | -9,223,372,036,854,775,808
~ 9,223,372,036,854,775,807 |
ulong | 0~18,446,744,073,709,551,615 |
大抵の場合は計算速度とサイズのバランスがとれた『int型』を使っておけば大丈夫です。
それ以外の整数型は用途に応じて使う感じになります。
※小さいサイズは昔の低スペックのパソコンに合わせたモノだったりする。
浮動小数点型
浮動小数点型は小数を含んだ数値を扱うときの型です。
その浮動小数点型は下の2種類になります。
整数型 | 表示範囲 | 有効桁数 |
double | ±5.0×10-324 ~ ±1.7×10308 | 15 ~ 16桁 |
float | ±1.5×10-45 ~ ±3.4×1038 | 7桁 |
一般的には『double型』を使われることが多いです。
decimal型
decimal型はfloat型・double型と同様に小数点付きの数値を扱う型です。
それらとの違いは”小数点以下の値を28桁まで正しく持てる”ところです。
なので、小数点を扱い、かつ正確性が求められる金融や財務の計算に用いる感じです。
また、varを使ってdecimal型を扱う場合は下のことに注意してください。
数値の最後に「m」をつけるとdecimal型となります。
var num = 3.14m;
変数の使い方(宣言・代入)
次に変数の使い方になります。
変数の代入
ここでは変数に値を代入する具体例になります。
下では「宣言と初期値指定を分けた記述(9~10行目)」と「宣言と初期値指定を同時に行う記述(12行目)」の2つになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; namespace sample { class Program { static void Main(string[] args) { string name; // 宣言 name = "田中太郎"; // 初期化 int age = 20; // 宣言と初期化を同時に行っている Console.WriteLine(name); Console.WriteLine(age); } } } |
上のコードを実行すると下のような結果が得られます。
変数の再代入
本記事の上のほうに「1つの変数に1つの値しか入れられない」と書きました。
ここでは「1つの変数に2回値を代入した場合にはどうなるか」を確認していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; namespace sample { class Program { static void Main(string[] args) { string name = "田中太郎"; Console.WriteLine(name); name = "鈴木次郎"; Console.WriteLine(name); } } } |
上のコードではstring形の変数nameに9行目に「田中太郎」、12行目に「鈴木次郎」という文字列を代入しています。
そして、それぞれ代入した段階でコンソールに変数の中身を表示するようにしています。
このコードを実行すると下のような結果が得られます。
変数nameに二回目の「鈴木次郎」を代入した時点で、変数の中身は「田中太郎 → 鈴木次郎」になっています。
このように変数は最後に代入された値が保持されるようになっているわけです。
スポンサーリンク