※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
こんにちは。こんぶです。
今日は、配列について学んでいきましょう!
私の自己紹介等は、こちらからどうぞ。
また、Javaの学習を最初から進めていきたい方は、Java-1から見てみてくださいね。
配列とは
配列とは、1つの種類の複数データを並び順で格納するデータ構造のことです。(データ構造とは、ある一定のルールに従ってデータを格納する形式のことです)
配列の中には、変数のような箱が連続して並んでいるのですが、その1つ1つを要素といいます。
要素は、型をもっていて、1つのデータを格納することができます。ですが、各要素には同じ種類のデータしか保存できません。
配列では、それぞれの要素に値を代入して1つ1つのデータを別々に使用するだけでなく、全ての要素のデータをまとめて使用することもできるのが特徴です。
配列内の各要素には0~の番号が付いており、その番号を「添え字」や「インデックス」といいます。0から始まるため、最後の添え字は要素の数よりも1小さい値になります。
文章だけでは伝わりにくいと思うので、次のイメージ図を見てみましょう。
イメージ図では、箱のようなものが6つ連続して並んでいますが、1つ1つの箱のようなものが「要素」で、各要素に付いている0~の番号が「添え字」です。
7つの要素をもつ配列を作成する場合は、添え字が0~6の要素をもつ配列を作成することになります。
配列の作成方法
配列を作成する時には、「配列変数を宣言」し、「要素を作成して代入」する必要があります。また、2つを同時に行うこともできます。
順番に説明していきます。
配列変数の宣言
まずは配列変数を作成します。この変数に代入できるのは値ではなく配列の要素です。
「要素の型[] 配列変数名;」のように宣言します。
例えば、int型の要素を代入する「days」という配列変数を宣言する場合は、「int[] days;」のように記述するということになります。
要素の作成と代入
要素を作成して、その要素を宣言した配列変数に代入します。
「配列変数名 = new 要素の型[要素数];」のように記述します。
ここで登場した「new」はnew演算子と呼ばれ、指定された型の要素を[]内に指定された数だけ作成するものです。
例えば、int型の要素を3個作成し、配列変数「days」に代入する場合は、「days = new int[3];」のように記述します。
つまり、int型の要素を持つ配列変数「days」を宣言し、3つのint型の要素を配列に代入する場合は次のようになります。
「配列変数の宣言」と「要素の作成と代入」を同時に行う場合
「配列変数の宣言」と「要素の作成と代入」を同時に行うこともできます。
その場合は「要素の型[] 配列変数名 = new 要素の型[要素数];」のように記述することになります。
例えば、int型の要素を持つ配列変数「days」を宣言し、3つのint型の要素を配列に代入するのを同時に行うと、「int[] days = new int[3];」のようになります。
配列の使用方法
配列を使用する際には、どの要素に値を出し入れするかを指定して「配列変数名[要素の添え字] = 値;」のように記述します。
例えば、配列変数「days」の先頭の要素に5を代入する場合は「days[0] = 5;」のように記述することになります。
また、配列の要素数を取得したい場合は、「配列変数名.length」を使用することもできます。
配列の初期化
変数とは違い、配列の要素は自動的に初期化されます。
なので、初期化なしで使用したとしても、コンパイルエラーにはならずに使用することができます。
自動的に配列の要素が初期化される値は、要素の型によって変わります。
数値型の場合は「0」、boolean型の場合は「false」、String型の場合は「null」で初期化されます。
配列の作成から初期値の代入をまとめて記述
配列の作成から初期値の代入をまとめて記述することもできます。
次の2つの方法があります。
「要素の型[] 配列変数名 = new 要素の型[]{値1,値2,値3,…};」
「要素の型[] 配列変数名 ={値1,値2,値3,…};」
例えば、3つのint型の要素を持つ配列変数「days」に初期値として「5、6、7」を代入する場合は、「int[] days = new int[]{5,6,7};」もしくは「int[] days ={5,6,7};」と記述します。
今回のまとめ
★配列とは、1つの種類の複数データを並び順で格納するデータ構造のこと
★配列の中に連続して並んでいる箱のようなもの1つ1つを要素という
★配列では、全ての要素のデータをまとめて使用することもできる
★配列内の各要素に付いている0~の番号を「添え字」や「インデックス」という
★配列変数は「要素の型[] 配列変数名;」のように宣言
★要素の作成と代入は「配列変数名 = new 要素の型[要素数];」のように記述
★「配列変数の宣言」と「要素の作成と代入」を同時に行う場合は「要素の型[] 配列変数名 = new 要素の型[要素数];」のように記述
★配列を使用する際には「配列変数名[要素の添え字] = 値;」のように記述
★配列の要素数の取得は「配列変数名.length」を使用
★自動的に配列の要素が初期化される値は、数値型の場合は「0」、boolean型の場合は「false」、String型の場合は「null」
★配列の作成から初期値の代入をまとめて記述する場合は「要素の型[] 配列変数名 = new 要素の型[]{値1,値2,値3,…};」もしくは「要素の型[] 配列変数名 ={値1,値2,値3,…};」と記述
・データ構造:ある一定のルールに従ってデータを格納する形式のこと
・new演算子:指定された型の要素を[]内に指定された数だけ作成するもの
次回も引き続き、配列について説明していこうと思います。
今回の内容のチャレンジ問題はこちらです→チャレンジ問題【Java-22】
次の内容に進む方はこちらです→【Java-23】配列②for文との組み合わせ
それでは、こんぶはじゃ~
コメント