ArrayIndexOutOfBoundsExceptionとは|超初心者のJavaの勉強

エラー文を理解して、すぐにプログラムを修正できるようになりたいと思い初心者が覚えておくべきエラー文を中心に勉強してみます。(Java Programming Silverレベル)

今回はArrayIndexOutOfBoundsExceptionです。

ArrayIndexOutOfBoundsExceptionとは

ArrayIndexOutOfBoundsException配列のサイズ以上または負の値で配列にアクセスした時に発生します。
ちなみに英語の「Array Index Out Of Bounds Exception」を日本語に訳すと「範囲外の配列インデックスの例外」となります。

配列のサイズ以上にアクセスした時とは

実際にコードで見てみましょう。
EclipseやpaizaなどでJavaを実行して確認するとわかりやすいと思います。

配列のサイズ以上にアクセスした時サンプルコード

int [] num = {0, 1, 2, 3};
System.out.print(num[4]);

配列 num の要素が4つでインデックスが0〜3までなのに対してインデックスの4を呼び出していることからArrayIndexOutOfBoundsExceptionが発生しています。

負の値で配列にアクセスした時とは

負の値で配列をアクセスした時とはマイナスの値でアクセスした時となります。

負の値で配列にアクセスした時サンプルコード

int [] num = {0, 1, 2, 3};
System.out.print(num[-1]);

配列 num の要素が4つでインデックスが0〜3なので -1 はアクセスできず、ArrayIndexOutOfBoundsExceptionが発生しています。

ちなみにマイナスがだめというわけではなく -0 であれば 0 なので0番目のインデックスにアクセスできます。

Java以外の言語ではマイナスで逆順でインデックスを呼び出せたりするので、他言語を利用していた方はうっかりマイナスを使わないようにしましょう。

Java

Posted by Nakamoto