【C#】変数の型・宣言・命名規則を分かりやすく解説!

変数の型・宣言・命名規則

こんにちは、くるです。今回は「C#の変数の型・宣言・命名規則」について簡単に分かりやすく解説します。

Amazon ブラックフライデーセール開催中!

現在、11/25~12/1までの期間限定でAmazonブラックフライデーセールが開催中です。

iPadやAirPodsのような人気商品がかなりお得に買えちゃいます。

商品によっては数量限定だったり、数時間限定のセールが開催されたりするので、気になる商品がある方は今すぐにチェック!

また、月250円のPrime Studentに登録すると、通常配送・お急ぎ便が無料になるので、Amazonでお買い物をするなら、絶対に登録した方がお得ですよ。

変数とは?

変数とは簡単に言えば「数値や文字列を入れておくための箱」です。

数学では、変数は$x=1$のように数字しか入れることができませんが、プログラミングでは数字の他に文字列なども入れることができます。

変数の型

プログラミングには、その変数にはどんなデータを入れることができるのかを表す「」という概念があります。

型をまとめた表がこちらです。

くるる
くるる

どうして整数型や実数型のものが複数あるんすか?

メモリを節約するためです!

先生
先生

変数を宣言すると、その変数の型に応じたメモリ領域が確保されます。

例えば、int型は32ビットの整数なので、32ビットメモリが確保されます。

しかし、もし-100 ~ 100の間の数値しか扱わないのならば、8ビットのsbyte型で十分ですよね?sbyte型を使えば 32 – 8 = 24ビットの節約になります。

このように自分の扱う数値の範囲に応じて型を使い分けることでメモリを節約することができるのです。

変数の宣言のやり方

プログラミングでは、変数を使う場合、どんな種類のデータを入れるための変数なのかを最初に明記しておかなければいけません。これを「変数の宣言」と言います。

基本的な方法

変数の宣言は「変数の型 変数の名前」といった書き方で出来ます。

例えば、

といった感じです。

変数の宣言を最初に行うことで、その変数をプログラム内で使うことができるようになります。

xはint型(整数型)の変数なので、整数しか入れることができません。なので、

となります。同様に、yはchar型(文字型)の変数なので、

となります。

変数の宣言時に同時に値を代入する方法もあり、

というように書くことができます。

varを使った方法

変数の型の表には載っていない、「var型」と呼ばれる特殊な型が存在します。

var型は変数の型を自動で推測してくれるもので、変数の型が何かを考えなくて良いという大変すばらしい機能です。

var型を使って変数を宣言するには、宣言と同時に値が代入される必要があります。例えば、

とすると、右辺の値から「変数zはstring型の変数」と機械が自動で判別してくれるのです。

ポンタ
ポンタ

便利だね~

命名規則

変数名は自由に決めることができますが、いくつか守らなければならないルール(命名規則)があります。

命名規則
  • 数字から始まってはいけない
    -「1number」や「00abc」などの変数名はダメ
  • 予約語を変数名にすることはできない
    – 予約語は「あらかじめ特定の意味が与えられている文字列」のことで、「int」
    「char」などのことです。
    なので、「int」や「char」をそのまま変数名として利用することはできません。
  • アンダーバー「 _ 」以外の記号は使えない
    -「number@」や「!abc」などの変数名はダメ

また、命名規則ではないものの慣習として守っておいた方が良いルールがいくつか存在します

慣習
  • 変数名は小文字から始める
    -「Number」ではなく、「number」にしましょう
  • 英単語を2つ以上繋げた変数名の場合は2番目以降の英単語の先頭を大文字にする
    -「studentnumber」ではなく、「studentNumber」にしましょう
  • 日本語は使わない
    -「番号」ではなく、「number」にしましょう

コード例

実行結果は次の通り

まとめ

今回は「C#の変数の型・宣言・命名規則」 を解説しました。

覚えることが多いので一度で覚えようとせずに、とりあえず軽く知っておくぐらいが良いでしょう。

命名規則は「なんか細かいな~」と思うかもしれませんが、結構重要なので、頭の片隅に入れておいてください。

コメントを残す

CAPTCHA


PHP Code Snippets Powered By : XYZScripts.com