ログイン

初心者が話すJava -第6回-『配列について』

 2019.3.26 ゴリラーブログ ピュアゴリラー辻 ブログ

暖かくなってきましたね~。寝やすいのでベッドの誘惑に負けそうです。まあ、寒かろう暑かろうがベッドに寝転んでるのが好きなので季節関係なく誘惑と戦っているのですが・・・。今のところ休日以外は負けなしの寝坊助ピュアゴリラーの辻です。もうじき新生活が始まる方も多い季節ですし、来週には新元号も発表なので今年は色々大変そうです。

配列とは

配列とはデータの並びの事です。もっと言うと同じ型のデータを並べて一纏めにして扱う方法です。
基本的に変数に対して格納できるデータは一つずつです。

public class Hello{
    public static void main() {
        String Gorilla1,Gorilla2,Gorilla3,Gorilla4;
	Gorilla1 = ‘マウンテンゴリラ’;
	Gorilla2 = ‘ニシローランドゴリラ’;
	Gorilla3 = ‘クロスリバーゴリラ’;
	Gorilla4 = ‘ヒガシローランドゴリラ’
System.out.println(Gorilla1);
System.out.println(Gorilla2);
System.out.println(Gorilla3);
System.out.println(Gorilla4);
}
 }       
}

結果

ニシローランドゴリラ
クロスリバーゴリラ
マウンテンゴリラ
ヒガシローランドゴリラ

しかし配列にすると、これが一纏めに出来ます。

public class Hello{
    public static void main() {
        String Gorilla = new String[4];
	Gorilla[0] = ‘マウンテンゴリラ’;
	Gorilla[1] = ‘ニシローランドゴリラ’;
	Gorilla[2] = ‘クロスリバーゴリラ’;
	Gorilla[3] = ‘ヒガシローランドゴリラ’;
System.out.println(Gorilla[0]);
System.out.println(Gorilla[1]);
System.out.println(Gorilla[2]);
System.out.println(Gorilla[3]);
}
 }       
}

結果

ニシローランドゴリラ
クロスリバーゴリラ
マウンテンゴリラ
ヒガシローランドゴリラ

まず宣言は 
型 配列名 = new 型[要素数];
というように書きます。
今回の場合String型の変数名はGorilla、入る要素数(データの数)は4つなので、
String Gorilla = new String[4];
となります。そして代入する際は
配列名[番号] = 要素;
となります。ここで注意が必要なのは配列内の番号は0から割り振られる点です。なので最初の要素を代入する際は
Gorilla[0] = ‘マウンテンゴリラ’;
となりますし、4つ目のデータは
Gorilla[4] = ‘ヒガシローランドゴリラ’;
とは入力できません。
ここまでだとまだ変数作るのと大差ないですが、宣言時に代入もまとめてすると少し変わってきます。

public class Hello{
    public static void main() {
        String Gorilla = { ‘マウンテンゴリラ’,
‘ニシローランドゴリラ’, 
‘クロスリバーゴリラ’, 
‘ヒガシローランドゴリラ
’};
	System.out.println(Gorilla[0]);
System.out.println(Gorilla[1]);
System.out.println(Gorilla[2]);
System.out.println(Gorilla[3]);
}
 }       
}

結果

ニシローランドゴリラ
クロスリバーゴリラ
マウンテンゴリラ
ヒガシローランドゴリラ

参照型の変数

現時点ではあまり関係ないポイントですが、後々効いてくるので、ざっくり説明します。
変数のデータの保持の仕方には2種類あります。基本データ型と参照型です。
基本型はデータをそのまま保持しますが、参照型はデータの保存されたアドレスを保持します。

public class Hello{
    public static void main() {
        int a,b;
	a = 1;
	b = a;
	System.out.println(a);
System.out.println(b);
b = 2;
System.out.println(a);
System.out.println(b);

}
 }       
}

結果

1
1
1
2

参照型だとこうなります。

public class Hello{
    public static void main() {
        	int a = new int[1];
int b = new int[1];
	a[0] = 1;
	b[0] = a[0];
	System.out.println(a[0]);
System.out.println(b[0]);
b[0] = 2;
System.out.println(a[0]);
System.out.println(b[0]);

}
 }       
}

結果

1
1
2
2

基本型は持っている数値を代入するため、元の数値が残りますが、参照型は保存先のアドレスを参照し、その中身を書き換える為、このような処理が起こります。

配列の使い方

配列の中身は繰り返しを使っても呼び出せます。

public class Hello{
    public static void main() {
        String Gorilla = { ‘マウンテンゴリラ’,
‘ニシローランドゴリラ’, 
‘クロスリバーゴリラ’, 
‘ヒガシローランドゴリラ’
};
for(int i = 0; i<4; i++){
	System.out.println(Gorilla[i]);
}
 }       
}

結果

ニシローランドゴリラ
クロスリバーゴリラ
マウンテンゴリラ
ヒガシローランドゴリラ

また長さは配列名.lengthで求める事が出来ます。

public class Hello{
    public static void main() {
        String Gorilla = { ‘マウンテンゴリラ’,
‘ニシローランドゴリラ’, 
‘クロスリバーゴリラ’, 
‘ヒガシローランドゴリラ’
};
for(int i = 0; i<Gorilla.length; i++){
	System.out.println(Gorilla[i]);
}
 }       
}

結果

ニシローランドゴリラ
クロスリバーゴリラ
マウンテンゴリラ
ヒガシローランドゴリラ

また、すべての要素に対し処理を行う場合、拡張For文というroopを使うこともできます。

public class Hello{
    public static void main() {
        String Gorilla = { ‘マウンテンゴリラ’,
‘ニシローランドゴリラ’, 
‘クロスリバーゴリラ’, 
‘ヒガシローランドゴリラ’
};
for(String MG : Gorilla){
	System.out.println(MG);
}
 }       
}

結果

ニシローランドゴリラ
クロスリバーゴリラ
マウンテンゴリラ
ヒガシローランドゴリラ

ざっくりではありますが、以上が配列の使い方になります。
次回はメソッドについて書いていけたらなぁと思います。
以上、ピュアゴリラーの辻でした。

© 2019 Mountain Gorilla Co., Ltd.