C#プログラミング入門!初心者向け その5 (変数を覚えよう!①文字列変数、数値変数)

ビジュアルスタジオC#
Visualstudio

変数とは何か?

みつる君
みつる君

今まで、文字列や数値などを学んできましたが、次は、変数というものを学んでいきます。

マリさん
マリさん

今回は、C#の変数について説明したいと思います。変数とは、プログラムで使われるデータを一時的に保存するための箱のようなものです。変数には、名前と型があります。名前は、変数を識別するためのもので、自由に決めることができます。型は、変数が保存できるデータの種類を決めるもので、C#にはいくつかの基本的な型があります。例えば、int型は整数、double型は小数、string型は文字列などです。変数を使うには、まず宣言する必要があります。宣言とは、変数の名前と型を指定することです。では、具体的にコードを書いて説明します。

以前の復習

みつる君
みつる君

下記のコードは、以前にも紹介しました簡単な文字列表示プログラムです。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
みつる君
みつる君

まず、これを実行してみましょう。実行の仕方は、下記を参照してください。

みつる君
みつる君

実行結果は

Hello World!

みつる君
みつる君

になります。覚えておられると思います。

変数を使用する

みつる君
みつる君

では、このコードに変数という一時記憶いておくを箱のようなコードを入れてみましょう!

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str;
            str = "Hello World!";
            Console.WriteLine(str);
        }
    }
}

みつる君
みつる君

実行結果は

Hello World!

みつる君
みつる君

実行結果は同じです。

マリさん
マリさん

このコードの9行目の「str」が変数といわれるもので値を入れる箱のようなものです。今回は「str」という名前を使いましたが、名前の付け方は任意(aとか、sssとかでもよい※参考)です。しかし、予約語と呼ばれるものがあり、それを使用するとエラーになります(※予約語とは、C#で使われている命令語のことです)。

みつる君
みつる君


9行目のstringはデータ型で「文字列」を示しています。

上記は「変数の宣言」といいます。

10行目は「str」の箱の 「Hello World!」 という値を入れます。

これは、「値の代入」といいます。

Console.WriteLine(str);の結果は、strの箱に Hello World! が入っているので
Console.WriteLine(“Hello World!”);と同じ

Hello World!  になります。

マリさん
マリさん

※参考 変数strをaにかえても同じです。aという箱のようなものにHello World!が格納され、Console.WriteLine(a);で Hello World! が表示されます。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string a;
            a = "Hello World!";
            Console.WriteLine(a);
        }
    }
}

変数の宣言と値の代入を1列にできます

みつる君
みつる君

string str; //変数の宣言
str = “Hello World!”; //文字列の代入
の2行を1行にするには、string str = “Hello World!”; で可能です。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "Hello World!";
            Console.WriteLine(str);
        }
    }
}

みつる君
みつる君

実行結果は

Hello World!

みつる君
みつる君

結果は同じです。

内容を変えてみよう

みつる君
みつる君

strの内容を変えてみましょう! Hello World!を Hello Japan!にかえてみます。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "Hello Japan!";
            Console.WriteLine(str);
        }
    }
}

みつる君
みつる君

実行結果は

Hello Japan!

みつる君
みつる君

strという箱のようなものにHello Japan!が格納されたことがわかります。

Console.WriteLine(str);を2行入力してみよう

みつる君
みつる君

では、 Console.WriteLine(str); を 2行入力したらどうなるでしょうか?

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "Hello Japan!";
            Console.WriteLine(str);
            Console.WriteLine(str);
        }
    }
}

みつる君
みつる君

実行結果は

Hello Japan!
Hello Japan!

みつる君
みつる君

strという箱のようなものに入ったらすぐに消えるわけではありません。そのため、Hello Japan!が2行表示されます。

複数の変数を使ってみよう

みつる君
みつる君

では、 str1という変数に「日本の首都」、 str2という変数に「東京」という文字列を格納し表示してみましょう

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str1 = "日本の首都";
            string str2 = "東京";
            Console.WriteLine(str1);
            Console.WriteLine(str2);
        }
    }
}

みつる君
みつる君

実行結果は

日本の首都
東京

みつる君
みつる君

になります。これを1行にするにはどうしたらいいでしょう。
str1 + str2 で1行にできます。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str1 = "日本の首都";
            string str2 = "東京";
            Console.WriteLine(str1 + str2);
        }
    }
}

みつる君
みつる君

実行結果は

日本の首都東京

みつる君
みつる君

になります。では、 日本の首都は東京 にしたい場合はどうしたらいいでしょうか?

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str1 = "日本の首都";
            string str2 = "東京";
            Console.WriteLine(str1 + "は" + str2);
        }
    }
}

みつる君
みつる君

実行結果は

日本の首都は東京

みつる君
みつる君

str1 + “は” + str2 で、「は」は文字列で変数ではありませんので「””」ダブルクォーテーションが必要です。

文字列変数

みつる君
みつる君

C#における文字列変数は、文字列を格納するために使用されます。

文字列とは、1つ以上の文字から構成されるデータであり、例えば「Hello, world!」のようなメッセージや、「1234」といった数字の列などが含まれます。

マリさん
マリさん

C#では、文字列を表すために、文字列型(string)というデータ型が用意されています。

string型の変数を宣言する場合は、次のように記述します。

string message;

マリさん
マリさん

上記のコードでは、変数名をmessageとし、string型であることを示しています。

みつる君
みつる君

文字列を変数に割り当てるには、次のように記述します。

message = “Hello, world!”;

みつる君
みつる君

上記のコードでは、変数messageに文字列”Hello, world!”を割り当てています。文字列を割り当てる場合は、ダブルクォーテーションで囲みます。

マリさん
マリさん

また、文字列変数の宣言と同時に初期化することもできます。次のように記述します。

string message = “Hello, world!”;

マリさん
マリさん

文字列変数に格納された文字列を表示するには、Console.WriteLineメソッドなどを使用します。

Console.WriteLine(message);

マリさん
マリさん

上記のコードでは、変数messageに格納された文字列を表示しています。

みつる君
みつる君

文字列変数は、文字列の連結などにも使用されます。

文字列を連結する場合は、+演算子を使用します。

string name = “John”;
string greeting = “Hello, ” + name + “!”;
Console.WriteLine(greeting);

みつる君
みつる君

上記のコードでは、変数nameに”John”を、変数greetingに”Hello, “とnameと”!”を連結して割り当て、最終的にConsole.WriteLineメソッドで変数greetingに格納された文字列を表示しています。

マリさん
マリさん

文字列変数には、多くの便利なメソッドやプロパティが用意されています。

例えば、文字列の長さを取得するLengthプロパティ、部分文字列を取得するSubstringメソッド、文字列の置換を行うReplaceメソッドなどがあります。

これらのメソッドやプロパティを使用することで、文字列操作を簡単に行うことができます。

数値変数

みつる君
みつる君

前項では、文字列の変数を覚えましたが、今回は、数値変数について覚えましょう!

数値変数を使用する

みつる君
みつる君

では、数値変数を用いてみましょう!

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int number;
            number= 5;
            Console.WriteLine(number);
        }
    }
}

みつる君
みつる君

実行結果は

5

みつる君
みつる君

実行結果は同じです。

マリさん
マリさん

9行目のintのデータ型は「整数型」を示しています。

上記は「変数の宣言」といいます。

10行目は「number」の箱の 「5」 という数値を入れます。
数値は、””(ダブルクォーテーション)は、必要ありません。

Console.WriteLine( number );の結果は、 number の箱に 5 が入っているので
5  になります。

※参考 変数 number をaにかえても同じです。aという箱のようなものに5が格納され、Console.WriteLine(a);で 5 が表示されます。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int a;
            a = 5;
            Console.WriteLine(a);
        }
    }
}

変数の宣言と値の代入を1列にできます

みつる君
みつる君

int number ; //変数の宣言
number = 5; //数値の代入
の2行を1行にするには、int number = 5; で可能です。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int number = 5;
            Console.WriteLine(number);
        }
    }
}

みつる君
みつる君

実行結果は

5

みつる君
みつる君

結果は同じです。

小数点を扱う数値の場合は

みつる君
みつる君

では、numberの値を5から5.55にかえてみよう。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int number = 5.55;
            Console.WriteLine(number);
        }
    }
}

みつる君
みつる君

実行結果は

ERR

みつる君
みつる君

エラーになってしまいます。なぜかというと、intは、整数を扱う、変数だからです

マリさん
マリさん

下記は、データ型の一部です。intは整数ですので、小数点が扱えません。この場合、 doubleなら扱えます。

int整数
float単精度実数
double倍精度実数
bool論理型(falseかtrue)
string文字列型
using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            double number = 5.55;
            Console.WriteLine(number);
        }
    }
}

みつる君
みつる君

実行結果は

5.55

みつる君
みつる君

正しく、実行できます。変数を宣言するときは注意が必要です。

マリさん
マリさん

そのほかの数値型変数についても紹介しておきます。

C# 型.NET 型説明データの範囲
sbyteSystem.SByte符号付きバイト-128 ~ 127
byteSystem.Byte符号無しバイト0 ~ 255
shortSystem.Int16符号付き16ビット整数-32768 ~ 32767
ushortSystem.UInt16符号無し16ビット整数0 ~ 65535
intSystem.Int32符号付き32ビット整数-2147483648 ~ 2147483647
uintSystem.UInt32符号無し32ビット整数0 ~ 4294967295
longSystem.Int64単精度浮動小数点-9223372036854775808 ~
9223372036854775807
ulongSystem.UInt64符号付き64ビット整数0 ~ 18446744073709551615
floatSystem.Single符号無し64ビット整数-3.402823E+38 ~ 3.402823E+38
doubleSystem.Double倍精度浮動小数点-1.79769313486232E+308 ~ 1.79769313486232E+308
decimalSystem.Decimal10進数浮動小数点-79228162514264337593543950335 ~ 79228162514264337593543950335

参考

C#における数値変数は、整数や小数などの数値を格納するために使用されます。C#には、数値型としてint、double、float、long、short、decimalなどのデータ型が用意されています。

int型は、32ビットの整数を格納することができます。宣言する場合は、次のように記述します。

int num;

上記のコードでは、変数名をnumとし、int型であることを示しています。

数値を変数に割り当てるには、次のように記述します。

num = 100;

上記のコードでは、変数numに数値100を割り当てています。

また、数値変数の宣言と同時に初期化することもできます。次のように記述します。

int num = 100;

double型は、倍精度浮動小数点数を格納することができます。宣言する場合は、次のように記述します。

double price;

上記のコードでは、変数名をpriceとし、double型であることを示しています。

数値を変数に割り当てるには、次のように記述します。

price = 3.14;

上記のコードでは、変数priceに数値3.14を割り当てています。

また、double型の数値を宣言と同時に初期化することもできます。次のように記述します。

double price = 3.14;

数値変数は、四則演算や比較演算などの数学的演算にも使用されます。数値型の変数同士で演算を行う場合は、次のように記述します。

int x = 10;
int y = 5;
int result = x + y;

上記のコードでは、変数xに10、変数yに5を割り当て、変数resultに変数xと変数yの和を割り当てています。

数値変数には、多くの便利なメソッドやプロパティが用意されています。例えば、数値を文字列に変換するToStringメソッド、数値の絶対値を取得するMath.Absメソッド、指数関数を計算するMath.Expメソッドなどがあります。これらのメソッドやプロパティを使用することで、数学的操作を簡単に行うことができます。

侍エンジニアPlus

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