この章では、「変数と定数を扱う方法」について学びます。変数と定数は、プログラム内で使用するデータを保持するための仕組みです。
変数は値が変化するデータを保持するための仕組みです。
また、定数は値を変更できないデータを保持するための仕組みです。
「C#基礎講座」の第2章です。この講座の詳細については以下から確認できます。
全てのサンプルプログラムのダウンロードは0章でダウンロードできます。
変数について
変数を使用するには、変数の型と名前を宣言する必要があります。型には、数値や文字列などを保存するための型があります。
データ型 変数名 [= 初期値];
例えば、整数型の変数を宣言するには、次のように記述します。
int x;
変数は、プログラムの実行中に値を変更したり、取り出したりすることができます。
int x = 10;
x = 20; // x の値を 20 に変更
- アルファベットまたは”_”(アンダースコア)で始まり、その後にアルファベット、数字、アンダースコアのいずれかの文字が続く。
- アルファベット、数字、アンダースコア以外の文字を含まない。
- アンダースコアで始まる場合は、アルファベットまたは数字を少なくとも1文字以上含む。
- 長さが16,383文字を超えない。
- 大文字と小文字は区別される。
- 予約語と同じ変数名は使用できない。
定数について
定数を使用するには、定数の型と名前を宣言する必要があります。また、定数は宣言と同時に初期値を設定する必要があります。
例えば、定数を宣言するにはconst
キーワードを使用します。また、初期設定が必須になります。
const データ型 定数名 = 初期値;
定数は、プログラム実行中に値を変更することができません。
定数は、次のような場合に使用されます。
- 定数的な値を使用する場合。 例:円周率、計算で使用する定数的な値など
- 変数を使用するよりも、より簡単に値を参照する必要がある場合。
変数と定数の使い分け
変数は、プログラム実行中に値が変化するデータを保持するために使用されます。
一方、定数は、プログラム実行中に値を変更できないデータを保持するために使用されます。
- プログラム実行中に値が変化するデータは、変数を使用する。
- プログラム実行中に値を変更できないデータは、定数を使用する。
変数の型について
C#では文字や数値など様々な種類のデータを扱います。このデータの種類をデータ型といいます。
例えば、文字データはstring型、数値データとはint型として扱います。それぞれのデータ型は扱えるサイズの範囲が決まっています。
C#で扱うデータ型には次の表のようなものがあります。
種別 | 型 | 用途 | Bit幅 | 値の範囲 |
---|---|---|---|---|
整数型 | sbyte | 符号なし整数 | 8 | -128 ~ 127 |
整数型 | byte | 符号なし整数 | 8 | 0 ~ 255 |
整数型 | short | 符号なし整数 | 16 | -32,768 ~ 32,767 |
整数型 | ushort | 符号なし整数 | 16 | 0 ~ 65535 |
整数型 | int | 符号なし整数 | 32 | -2,147,483,648 ~ 2,147,483,647 |
整数型 | uint | 符号なし整数 | 32 | 0 ~ 4294967295 |
整数型 | long | 符号なし整数 | 64 | -922337203685477508 ~ 922337203685477507 |
整数型 | ulong | 符号なし整数 | 64 | 0 ~ 18446744073709551615 |
実数型 | float | 単精度浮動小数点数 | 32 | -3.402823e38 ~ 3.402823e38 |
実数型 | double | 倍精度浮動小数点数 | 64 | -1.79769313486232e308 ~ 1.79769313486232e308 |
実数型 | decimal | 有効桁数 28 桁以上の 10 進実数 | 128 | ±1.0 x 10e − 28 ~ ±7.9 x 10e28 |
文字型 | char | Unicode 文字 | 16 | テキストで使用される Unicode 記号1文字 |
文字列型 | string | Unicode 文字列 | char型Unicode 記号のコレクション | |
論理型 | bool | 真理値 | 8 | true 又は false |
オブジェクト型 | object | 任意のオブジェクトへの参照 |
その他の型
C#では、次のような型が用意されています。
- object型:他のすべての型の基本形
- dynamic:型を指定しない変数を表す型
データ型が多すぎて覚えるのが大変ですね。
これら全てを覚える必要はありません。
プログラミングでは、多くの内容を学びますが、それらは都度、検索等で調べて利用できる状態にすることが重要なので、こんなものがあるんだとなんとなく知っておく程度で十分です。
また、これらは講座進めていく上で頻繁に出てくるものがあり、よく利用するものについては 進めていくうちに自然と覚えることができると思います。
型の指定
変数を宣言するときに、型を指定することで、変数が保持するデータの種類を指定することができます。型を指定するには、次のように記述します。
型 変数名;
例えば、整数型の変数を宣言するには、次のように記述します。
int x; // 変数 x を整数型として宣言
また、宣言と同時に、初期値を代入することもできます。
int x = 10; // 変数 x を整数型として宣言し、初期値を 10 に設定
型を指定することで、変数が保持するデータの種類を制限することができます。そのため、変数には、指定された型のデータだけを保持することができます。
例えば、次のような変数を宣言した場合、それぞれ異なる型のデータを保持することができます。
int xx; // 整数型の変数 xx
string str; // 文字列型の変数 str
bool flag; // ブール型の変数 flag
型を変換する方法
変数などに格納されたデータは別のデータ型に変換することができます。
C#では、基本的には変数の方が値の型に一致していないと代入できない仕様になっているため、別の型にデータを代入したい場合にはデータ変換を用います。
以下に代表的な3つのデータ変換の方法を紹介します。
ToStringメソッドを使ったデータ変換方法
ToString
メソッドは、オブジェクトを文字列に変換するためのメソッドです。
object.ToString();
例えば、整数型の変数を文字列型に変換するには、次のように記述します。
int x = 10;
string str = x.ToString(); // str には "10" が代入される
ToString
メソッドは、基本的にすべてのオブジェクト型で利用できます。
Parse メソッドを使ったデータ変換方法
Parse
メソッドは、文字列を特定の型に変換するためのメソッドです。
Type.Parse(string);
例えば、文字列型の変数を整数型に変換するには、次のように記述します。
string str = "10";
int x = int.Parse(str); // x には 10 が代入される
Cast 演算子を使ったデータ変換方法
Cast
演算子は、型の変換を行うための演算子です。
(型) 変数;
例えば、整数型の変数を浮動小数点型に変換するには、次のように記述します。
int x = 10;
float y = (float)x; // y には 10.0 が代入される
型推論について
C#では、型推論と呼ばれる機能が提供されており、変数や式の型を明示的に指定することなくその値や式の結果の型を自動的に推論することができます。
型推論を利用することで、変数や式の型を明示的に指定する必要がなくなるため、コードをより簡潔に記述することができます。
var 型を利用することで、変数の型を明示的に指定することなく、変数を宣言することができます。
var 変数名 = 値;
var z = 100; //int型になる
nullについて
ここでは少し応用として、nullという何も持たない状態を表す特殊値について解説します。
nullとは
nullは、変数やプロパティが値を持たないことを表す特殊な値です。null値を持つ変数やプロパティは、値が未設定の状態を表します。
null許容型について
C#では、null値を許容することができる型があります。これらの型をnull許容型と呼びます。
null許容型を利用することで、null値を許容することを明示的に示すことができます。
例えば、次のようにデータ型に?
を記述することで、int型の変数 x をnull許容型として宣言することができます。
int? x = null;
このように、null値を許容することができる型をnull許容型と呼び、null値を許容することを明示的に示すことができます。null許容型を利用することで、null値を許容することで生じるエラーを防ぐことができます。
変数と定数 ~ 確認クイズ!
変数の宣言にはどのようなものが必要ですか?
- 変数名だけ
- 変数名と初期値
- 変数名と型
解答
答え: 3. 変数名と型
変数は宣言時に初期値を設定することができますか?
- 可能
- 不可能
- 時々可能
解答
答え: 1. 可能
変数はプログラムの実行中に値を変更することはできますか?
- 可能
- 不可能
- 時々可能
解答
答え: 1. 可能
定数はどのように宣言されますか?
- var
- const
- let
解答
答え: 2. const
nullは何を表しますか?
- 値が存在しないこと
- 0
- 真
解答
答え: 1. 値が存在しないこと
リスキリングでキャリアアップしてみませんか?
リスキリング(学び直し)は、経済産業省が推奨しており、
今だけ、最大70%のキャッシュバックを受けることができます。
最大70%の給付金が出るおすすめのプログラミングスクール!
国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!
興味のある方はすぐに確認しましょう。
この章のまとめ
この章「変数と定数の扱う方法を学ぶ」では以下の内容を学びました。
- 変数はプログラム中で値を保存して利用するための仮想的な記憶領域です。
- 変数は、型を指定して宣言することで使用することができ、リテラルや初期化子を利用して値を代入することができます。
- 定数は、プログラム中で値を保存して利用するための仮想的な記憶領域です。
- 定数は、型を指定して宣言することで使用することができ、宣言された値を変更することができません。
- C#には型を変換するための様々なメソッドが用意されている。
- 型推論を利用することで、型を明示的に指定することなく、変数を宣言することができます。
- null許容型を利用することで、null値を許容することができます。
変数や定数を適切に扱うことで、プログラムをより正確かつ効率的に記述することができるでしょう。
チャプター
次章では、「配列とリスト」について学びます。
コメント