p.133 配列とは
・データの全てに変数名を付けるのではなく、同じ型のデータをグループにして名前を付け、何番目かを指定して用いる仕掛けが配列
・グループの名前を配列名、何番目かを指定する番号を添字、インデックスという
・また、配列を構成するデータ1つずつを要素という
・利用には変数と同様に、定義が必要だが、その前に配列名を宣言する必要があり、データ型も明示する
・宣言書式: 型[] 配列名;
・例: string[] monstername;
・配列の定義(生成)は変数の場合と同様に必要な領域の確保なので、要素何個分かも明示する
・定義(生成)書式: 配列名 = new 型[要素数];
・例: monstername = new string[100]; //モンスター100体分の配列を定義(生成)
・配列の宣言と定義(生成)はまとめて行うことも可能
・宣言と定義(生成)の書式: 型[] 配列名 = new 型[要素数];
・例: string[] monstername = new string[100];
・要素へのアクセスは、配列名[添字]で行う。添字は0から要素数-1までなので注意。
・例: monstername[0] = "ヴェルドラ"; monstername[1] = "リムル";
・変数の初期化と同様に、配列の宣言と初期値の設定を同時にすることが可能で、この時、初期値の数だけ要素が作られるので要素数は
指定不要
・初期化の書式: 型[] 配列名 = {初期値①, 初期値②, …};
・例: string[] monstername = {"ヴェルドラ", "リムル"}; //要素数は2になる
・配列はオブジェクト(後述)として扱われるので、プロパティ(後述)の仕掛けを持っている。これにより、配列名.Length とすることで、
要素数が得られる
p.136 average02.cs
//p.136 average02.cs
using System;
class average02 {
public static void Main() {
int[] point = {70, 80, 50}; //int型の配列pointを3要素で初期化
int sum = 0, no; //合計、要素数
no = point.Length; //プロパティで配列の要素数を得る
for (int i = 0; i < no; i++) { //iを0から要素数未満まで=全要素について繰返す
sum += point[i]; //i番の要素の値をsumに足し込む
}
double average = (double)sum / no; //合計を件数で割って平均値を得る
Console.WriteLine("合計 = {0}, 平均 = {1:##.#}", sum, average); //合計値と平均値(小数点以下1桁)を表示
}
}
提出:アレンジ演習:p.136 average02.cs
・配列の3要素の値をコンソールから入力するようにしよう
・ヒント① 配列の初期化ではなく宣言と生成にする
例:int[] point = new int[3];
・ヒント② コンソールからの入力は繰返しの中(sumに足し込む前)で行うと良い
・ヒント③ 配列の要素は変数と同様に扱えるので、コンソールからの入力を要素に代入する
例:Console.Write("{0}番:", i); point[i] = int.Parse(Console.ReadLine());