配列とコレクション応用問題

次のコードを実行したときの動作を説明したもので、最も適切なものはどれか。 int[] arr = new int[5]; for (int i = 0; i < arr.length; i++) { arr[i] = i * 2; } int result = arr[2] + arr[4]; System.out.println(result);

A.出力される値は6である
✗ 配列初期化後、arr[2]=4、arr[4]=8となるため、計算結果は12である
B.出力される値は8である← 正解
✓ 正解です。arr[2]=2×2=4、arr[4]=2×4=8となり、4+8=12が出力される
C.ArrayIndexOutOfBoundsExceptionが発生する
✗ ループ条件がi < arr.lengthなので、範囲内でアクセスしており例外は発生しない
D.arr[2]がnullのためNullPointerExceptionが発生する
✗ int型配列の要素は0で初期化されておりnullではないため、例外は発生しない

Oracle Certified Java Programmer, Bronze SE の問題一覧