変数では難しいこと
街中で人の行列に整理券を配っている姿をみかけます。時間になると整理券順に対応していくのでしょうか。これをプログラムで表現すると、このような感じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
package step07; public class Array1 { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ //整理券用の変数 String first = ""; String second = ""; String third = ""; String fourth = ""; String fifth = ""; //整理券を配る(変数に名前を格納) first = "山田"; second = "鈴木"; third = "佐藤"; fourth = "加藤"; fifth = "吉田"; //時間がきたので整理券順に呼び出す。 System.out.println(first+"さん。窓口に来てください。"); System.out.println(second+"さん。窓口に来てください。"); System.out.println(third+"さん。窓口に来てください。"); System.out.println(fourth+"さん。窓口に来てください。"); System.out.println(fifth+"さん。窓口に来てください。"); } } |
このプログラムでは5名までの行列を想定して5つの変数を用意しています。もし行列に100名並んでいたら100個の変数を用意しなければいけません。とてもプログラムを書く気になれないです。そんな時に便利な変数、「配列」があります。
配列
配列は一つの変数名で複数の値が格納できます。上記のプログラムを配列に置き換えると次のようになります。
新規のクラスを作成し、下記を入力するかコピーしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package step07; public class Array1 { public static void main(String[] args) { //整理券用の配列 String[] ticket = new String[5]; //整理券を配る(変数に名前を格納) ticket[0] = "山田"; ticket[1] = "鈴木"; ticket[2] = "佐藤"; ticket[3] = "加藤"; ticket[4] = "吉田"; //時間がきたので整理券順に呼び出す。 System.out.println(ticket[0]+"さん。窓口に来てください。"); System.out.println(ticket[1]+"さん。窓口に来てください。"); System.out.println(ticket[2]+"さん。窓口に来てください。"); System.out.println(ticket[3]+"さん。窓口に来てください。"); System.out.println(ticket[4]+"さん。窓口に来てください。"); } } |
7行目の命令で配列を定義しています。
7 |
String[] ticket = new String[5];; |
型Stringの横に[]があります。この[]が配列であることを宣言しています。「ticket」が変数名で、右側の「new String[5]」でString型の箱を5個用意しています。
配列へ値を格納する命令が10行目~14行目です。
10 11 12 13 14 |
ticket[0] = "山田"; ticket[1] = "鈴木"; ticket[2] = "佐藤"; ticket[3] = "加藤"; ticket[4] = "吉田"; |
変数名の横の[<数値>]が配列の何番目かを示します。つまりticket[0]は変数ticketの0番目の箱になります。このように配列は、1つの変数に番号を付けることで複数の値を格納できるのです。