KEN's .NET

[初心7] 変数と型、再び - 配列

ホーム > KEN's .NET > [初心7] 変数と型、再び - 配列

ここではプログラミングがはじめての人のための解説をおこないます。 今回は、「変数と型、再び」と題して、[初心1]で説明した型を掘り下げて説明します。

0.はじめに

「[初心1] 変数と型 」では、変数とは何か?型とは何か?を説明しました。 ところで、型にはどんなものがあるのでしょうか?今までの連載では、 Integer型やBoolean型が登場しましたが、それだけではありません。基本的な型の一覧を以下に載せます。

表1 データ型の一覧
データ型名称使用例
Boolean論理型True または Falseb = True
Byteバイト型0〜255b = 100
Char文字型0〜65535の数値で表されるUNICODE文字ch = "あ"C
Date日付型0001 年 1 月 1 日 0:00:00 〜 9999 年 12 月 31 日 11:59:59 PMdt = # 08/10/2002 16:30:12 #
Decimal十進型 -79,228,162,514,264,337,593,543,950,335 〜 79,228,162,514,264,337,593,543,950,335 (小数部分を持たない数値の場合)。
-7.9228162514264337593543950335 〜 7.9228162514264337593543950335 (小数点以下 28 桁の数値の場合)。
0.0000000000000000000000000001 (1E-28) (0 を除いた場合の絶対値の最小値)
dec = 123456789000@
Single単精度浮動小数点型-3.4028235E+38 〜 -1.401298E-45 (負の値)。
1.401298E-45 〜 3.4028235E+38 (正の値)。
sng = 123.456!
Double倍精度浮動小数点型-1.79769313486231570E+308 〜 -4.94065645841246544E-324 (負の値)。
4.94065645841246544E-324 〜 1.79769313486231570E+308 (正の値)。
dbl = 3.14159265358979323#
Short短整数型-32,768 〜 32,767sh = 1234
Integer整数型-2,147,483,648 〜 2,147,483,647i = 123456789%
Long長整数型-9,223,372,036,854,775,808 〜 9,223,372,036,854,775,807L = 12345678900&
String文字列型0 個 〜 約 20 億個の Unicode 文字 s = "Hello World"
Objectオブジェクト型何でも入るデータ型何でも入るので例は特になし
※ 1E+17のような表現は、1 * 10^17(1 掛ける 10の17乗)を意味します。

表1にあるように各データ型には決まったデータが入り、取ることのできる値の範囲も厳密に決まっています。 例えば、Byte型に10000を代入しようとするとエラー(大きな値は入れられないよと怒られる)が発生します。 扱いたいデータの内容に応じて、どの型の変数を利用するかを決めないといけません。21億くらいまでの数値を扱うならInteger型でしょうし、 もっと大きな数字を扱うとなればLong型でしょう。文字列を扱うならString型、日付を扱うならDate型を利用します。

表1には各データ型の使用例を載せました。いくつか見慣れない表記があると思います。 String型の使用例「s = "Hello World"」をご覧下さい。文字列を""で括って表現していますが、 一番外側の""はデータではなく、文字列の中身(この場合HelloWorld)とソースコードを区別するための記号です。 また、Char型の使用例「ch = "あ"C」では文字列の場合と同様に""でデータが括られていますが、 その後ろに「C」がついています。 これは型指定子といい、String型ではなくChar型であることを示します。 つまり、String型と区別するために付けている印で、原則としてChar型を使う場合は必須です。 Integer型の使用例「i = 123456789%」では数値の最後に「%」が付いていますが、これもInteger型を示す型指定子です。 この「%」はたいていの場合は省略しても問題ありません。 Date型の使用例「dt = # 08/10/2002 16:30:12 #」を見るとこちらは##で括られています。文字列の場合に""で括られていたように、 これはDate型のデータであることを示します。もし、"08/10/2002 16:30:12"と書いた場合、これはあくまでString型のデータであり、 Date型のデータではありません。ちなみに「# 08/10/2002 16:30:12 #」は米式の日付の順番なので、「# 月/日/年 時:分:秒 #」の意味です。

1.配列

主要なデータ型は表1の通りですが、それとは別で配列というものがあります。 配列はそれ自体が単独のものというよりも表1に挙げたようなデータ型と組み合わせて利用します。 以下に配列の使用例を示します。
	Dim a(9) As Integer = {0,1,2,3,4,5,6,7,8,9}

	MessageBox.Show( CStr(a(0)) )
	MessageBox.Show( CStr(a(1)) )
	MessageBox.Show( CStr(a(2)) )
           :略
   図1 配列の使用例

配列は図1のように複数のデータを一つの変数名で管理することができます。 1行目では、aを0〜9のインデックスを持つ整数型の配列変数として宣言し、宣言と同時に初期化しています。 初期化とは、変数に最初に値を代入することです。{ }で囲まれた中に初期化するための値(初期値)をセットしてあります。 このように宣言すると、a(0)〜a(9)を利用することができ、初期値として順に0〜9を設定することになります。 3行目以降では、配列変数のそれぞれの中身が0〜9になっていることを確認するために、 MessageBox.Show(文字列)という機能と、数値などを文字列に変換する機能のCStr(値)を利用しています。 MessageBox.Showは指定の文字列を小さなダイアログ(ウィンドウ)を出してそこに表示するものです。

2.学んだこと

キーワード:Byte型、Char型、Date型等、基本データ型の種類, データ型の取る値の範囲, 配列, 初期化, 型指定子
  • 配列の宣言は「Dim 変数名(インデックスの最大値) As データ型」
  • 宣言と同時に初期化ができる。配列の初期化には{ }で括った中に,区切りでデータを並べる
  • 文字列データは""で括る、日付データは##で括る。日付型の表記は米式の日付
  • データそのものの型を既定するには型指定子を使う。Char型の型指定子はC


ホーム > KEN's .NET > [初心7] 変数と型、再び - 配列

[e-mail]yone_ken00@hotmail.com