Javaの基礎文法 配列【前半】(3-11)

記事上広告

配列の前半では、配列の概要、記述方法等を紹介します。配列の後半では、配列の初期値、多次元配列についての紹介です。

配列とは

今まではデータを保存する際には、変数を利用してきました。しかし、プログラムでは同じようなデータをたくさん保存する場合もあります。その際に、一つ一つ変数を作成すると、同じような変数名をたくさん作ることになり、効率が悪くなります。

そこで、複数のデータを一つの入れ物に保存する方法が配列(配列変数)です。

配列には複数のデータを保存することができますが、同じ型のデータしか保存ができません。また、一つずつのデータは「添え字(インデックス)」を利用してアクセスする必要があります。

配列の利用

配列を扱うには以下の3つの記述が必要です。

  1. 配列宣言
  2. 配列の実体確保
  3. 配列へのデータ代入および参照

配列宣言

配列宣言 データ型[] 配列名 ;
記述例 int[] numbers ;

配列では[]をデータ型の右に記述する必要があります。(配列名の右でも可)

配列の実体確保

配列の実体確保 配列名 = new データ型[要素数] ;
記述例 numbers = new int[5] ;

変数と違い配列は宣言のみでは利用できず、new演算子を利用して配列の実体確保を行います。

new演算子の右にはデータ型と要素数を記述します。要素数は配列に保存できるデータの数です。要素数は後で変更することはできません。

配列へのデータ代入および参照

配列への
データ代入および参照
配列名[添え字] = データ ;
配列名[添え字] ;
記述例 numbers[4] = 500 ;
System.out.println(numbers[4]) ;

配列へデータを代入、または配列内のデータを参照したい場合は、配列名と添え字を組み合わせて利用します。添え字はインデックスとも表現されます。

添え字は「0から要素数の-1まで」利用できます。
例えば、new int[4] と記述された場合の添え字は0から3までとなります。

配列の要素数を超えた添え字を扱うと以下のようなエラーが表示されます。

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 5
at Number21.main(Number21.java:6)

配列 サンプルプログラム

以下のプログラムを「Number21.java」という名前でworkフォルダ内に保存します。
保存が完了したら、コマンドプロンプトを起動し、コンパイルおよび実行を行ってみましょう。

実行例

C:\work>javac Number21.java

C:\work>java Number21
500

※実行例はコンパイルから実行までの例を表示しています。

配列の様々な記述方法

配列は「宣言」「実体確保」「代入及び参照」という手順を踏んで記述しますが、以下の記述を行うことでまとめることができます。

宣言と実体確保
を同時に行う
データ型[] 配列名 = new データ型[要素数] ;
記述例 int[] numbers = new int[5] ;

全てを同時に行う
(初期化子の利用)
データ型[] 配列名 = {データ,データ,….} ;
記述例 int[] numbers = {100,200,300,400,500} ;

初期化子を利用すると、配列作成と同時にデータを代入することができます。要素数はデータの数となります。

配列とループ文

配列はたくさんのデータを扱うため、ループ文と組み合わせて利用されることが多々あります。また、for文には配列(もしくはコレクション)向けの拡張forと呼ばれる文法も用意されています。
※拡張forについては別途記事で紹介

配列 サンプルプログラム2

Number21.java」のプログラムを以下のように変更してください。
保存が完了したら、コマンドプロンプトを起動し、コンパイルおよび実行を行ってみましょう。

実行例

C:\work>javac Number21.java

C:\work>java Number21
500
伊藤
加藤
佐藤
尾藤
後藤

※実行例はコンパイルから実行までの例を表示しています。

配列の後半では「配列の初期値」「配列内のサイズ確認」「多次元配列」について解説します。

配列【前半】 復習問題

問題
  • 配列に必要な記述の組み合わせで適切なものを選んでください。
  • 配列の実体確保には○という演算子が必要である。○に入る語句を選んでください。
  • 配列の初期化子を利用するための記述を選んでください。
  • int[] i = new int[10];の記述で利用できない添え字を選んでください。
  • お疲れ様でした。
解答群
    1. 「宣言」「データの代入及び参照」
    2. 「実体確保」「データの代入及び参照」
    3. 「宣言」「実体確保」「データの代入及び参照」
    4. 「宣言」
    1. if
    2. new
    3. break
    4. continue
    1. String[] str = {“A”,”B”};
    2. String[] str = (“A”,”B”);
    3. String[] str = [“A”,”B”];
    4. String[] str = new {“A”,”B”};
    1. 0
    2. 1
    3. 9
    4. 10

まとめ

  • 配列を利用すると同じデータ型のデータをまとめて扱うことができる
  • 配列は「宣言」「実体確保」「代入及び参照」という3つの手順を踏む
  • 初期化子を利用すると上記3つの手順をまとめて記述できる
参加 ブログランキング

記事頑張って書いたかもねー?と思う方は下を押してもらえるといいかなーなんて
にほんブログ村 IT技術ブログへ
にほんブログ村


Javaランキング

目次へのアクセス
スポンサーリンク
レクタングル

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル