
今回は
というテーマでお送りします。

頑張ります。今回も、よろしくお願いします。

今回も、頑張って勉強します!

【Youtube版】
Youtubeでもお伝えしていますので
是非チェックしてくださいね。
【1】配列とは

ひとくくりにして管理すること。
変数は箱というお話をしてきましたが
配列は、同じデータ型の箱をひとくくりにして
管理するイメージです。
ポイントは、同じ型 という事です。

例えば、テストの点数を考えましょう。
Aくんの点数、Bくんの点数、Cくんの点数
Dくんの点数 を扱いたい場合です。
別々の変数に 値を格納して処理する事も できますが
配列として 纏めておいたほうが
処理しやすいという 利点があります。

このあたりは、今後 プログラミングしていくと
段々と 配列の便利さも 分かると思いますので…
今のところは、このようなイメージを押さえておきましょう。
また、配列は「ひとくくりの箱」全体に名前をつけます。
この名前を
といいます。
そして、配列の中の1つ1つの箱の事を…
といいます。

「ひとくくり」にして扱うのが配列なのですね。
確かに、まとめておいたほうが
便利で 分かり易い感じがします。

その中の1つ1つが「要素」ですね。
バッチシです!
【2】配列の宣言

変数で、箱を準備する事を 宣言と言いましたが
配列の場合にも 一連の箱を準備することを 宣言といいます。
ここでは、Javaでの、基本的な
を見ていきましょう。
配列名 = new データ型[要素数];
データ型の後に 配列である事を示す
[] (大括弧・角括弧) をつけて
その後に、配列名を記述します。
ただ、これだけでは一連の箱が 準備されていません。
new 演算子 を使って
どのデータ型を何個準備するかを記述します。
例を見てみましょう。
array = new int[3];
この場合は、int型で 配列名 は array
3 個の箱を準備しました。という意味になります。
そして、この 2 行は 1行 で書くこともできます。
int[] array = new int[3];
定型的に使われるので、この 1 行で書くほうを
覚えておくと良いでしょう。
そして、この文(ステートメント)と
一連の箱のイメージを結びつけておきましょう。


配列名の宣言と、箱の準備を
1行で記述するほう分かりやすいです。

データ型 と 要素数 を考えてイメージします。
【3】配列の要素

配列の1つ1つの箱を「要素」といいますが
Javaでは、このように表現します。
配列名の後に [](大括弧・角括弧)を記述して
その中に添字(インデックス)を記述します。
この添字は、要素の番号を表します。
配列の中で何番目かということですが
注意ポイントは、この番号は 0 から始まることです。
例えば int型配列 array 要素数 3 があるとします。
要素の表現は、先頭から
array[0]、array[1]、array[2] となります。
インデックスは 0 ~ (要素数 – 1) であること
覚えておきましょうね。

そして、配列は 要素の単位で 代入・参照ができることも
チェックポイントです。
配列の要素が、変数と同様に扱えるということです。
(代入)a = 10;
(参照)result = a + 5;
変数の場合 代入の式で
a = 10; と記述すると
a という箱に10を入れる…
という風に 箱主体で考えました。
参照する場合には、このような式で
a と書くだけで a の値をコピーして
取り出して使うことができましたね。
(参照)result = array[0] + 5;
配列の要素の場合も同様に考えます。
代入の場合、このように記述すると
配列arrayの 0 番目の要素に10を代入する。
( 0 番目の箱が主体)という事になります。
そして
参照の場合、このように記述すると、
配列 array の 0 番目の要素の値を
コピーして取り出して使う。という意味を表します。
また、配列の要素数は
で取得することができます。
例えば、このようにプログラムを書いた場合を考えます。
System.out.println(“要素数:” + array.length);
int型の 要素数 3 の配列arrayを 宣言しています。
そして、System.out.println で “要素数:”の後に
array.lengh を表示すると…。
このように「要素数:3」 と表示されます。

「配列名.length」で要素数を取得できること
ここも、押さえておきましょうね。

ついつい、1番目・2番目…と数えてしまいそうなので
ここは 忘れないようにします。

扱えるということなんですね。
そして要素数の表現「配列名.length」も
しっかり、覚えました。
【4】配列要素の初期化

①初期化の記述方法
配列を宣言して、各要素に値を代入する時に
このように記述できることを学びましたね。
int[0] = 10;
int[1] = 20;
int[2] = 30;
この、配列の宣言と各要素への値の代入(初期化)は
一緒に行うことができます。
記述方法は
このように記述します。
右辺は 波括弧で囲んでブロックにして
配列の要素の初期値を カンマで区切って記述します。
例えば、このように記述できます。
int型配列 array を宣言して、要素を 10, 20, 30 で初期化します。
int[0] = 10;
int[1] = 20;
int[2] = 30;
▼ ▼
int[] array = { 10, 20, 30 };

中括弧で囲むことと
カンマで区切ることを 覚えておきましょう。
②自動的に初期化
配列の場合には、new 演算子で箱を準備した時に 各要素の値は
既定値(Javaで定められた値)で 初期化されます。
例えば
…と書いた場合、配列 array の各要素は
0(数値の既定値)で初期化されています。
変数の場合には、初期化や代入を行わずに
参照を行うとコンパイルエラーになりましたが
配列の要素の場合には、エラーにはならず
参照することができます。
この例の場合には、要素に値を代入せずに
参照して、値が 0 と表示されます。
System.out.println(“0番目の要素:” + array[0]);
▼(表示結果)▼
0番目の要素:0
そして、この既定値ですが
このように定められています。

数値型(byte/short/int/long/float/double)
の場合には 0
char型の場合には、文字コード0
(これは、’0’という文字ではありません。目視できません。)
boolean型の場合には false
Stringなどの参照型 の場合には
参照している番地が無い事を表す null という値になります。


ただし、プログラムを分かりやすくするという点では
その旨を コメントに書いておくほうが良いですね。
後から見た時に
・初期化を忘れているのか?
・既定値で初期化された値を使っているのか?
判別がつきやすい事が大切ですね。
このあたりも考慮できると良いと思います。

【5】String型の配列

今までの例で int型の配列を見てきましたが
この配列は、全てのデータ型に対応しています。
基本データ型だけでなく、参照型でも同様です。
ここでは、String型の例を見てみましょう。
例えば
strArray[0] = “文字列1”;
strArray[1] = “文字列2”;
strArray[2] = “文字列3”;
System.out.println(“0番目の要素:” + strArray[0]);
このように、要素数3の文字列型の配列の宣言ができます。
要素への値の代入もできて、要素の参照もできます。

また、宣言と要素の値の代入の部分は
このように 書くこともできます。
strArray[0] = “文字列1”;
strArray[1] = “文字列2”;
strArray[2] = “文字列3”;
▼(このよう書けます)▼↓
String[] strArray = {
“文字列1”,
“文字列2”,
“文字列3”
};

まだ、何となくですが…。
【まとめ】

【Java超入門 #09】配列(1)
ひとくくりにして管理すること。
・ 配列全体に配列名をつける。
・ 配列の中の1つ1つを要素という。
データ型[] 配列名;
配列名 = new データ型[要素数];
・ 記述方法②
データ型[] 配列名 = new データ型[要素数];
※ 簡潔に②で記述することがお勧め。
配列名[添字(インデックス)] ・ 添字(インデックス)は
要素の番号で 0 から始まる。
・ 要素数の取得
配列名.length
データ型[] 配列名 = { 初期値,初期値… };
② 自動的に初期化
・ Javaの既定値で初期化される
例えば数値の場合は
0 で初期化される
・ String型配列の例
String[] strArray = new String[3];
strArray[0] = “文字列1”;
System.out.println(“0番目の要素:”
+ strArray[0]);
今回も、ご覧いただき、ありがとうございます。