int[][] myArray = { {8,1,2,2,9}, {1,9,4,0,3}, {0,3,0,0,7} };
What is the value
myArray[1][2] ? 4
(Remember that array indexes start at 0 for both rows and columns.)
class UnevenExample
{
public static void main( String[] arg )
{
// declare and construct a 2D array
//
int[][] uneven = { { 1, 9, 4 },
{ 0, 2},
{ 0, 1, 2, 3, 4 } };
System.out.println("uneven[0][2] is ", + uneven[0][2] ) ; // OK
System.out.println("uneven[1][1] is ", + uneven[1][1] ) ; // OK
System.out.println("uneven[1][2] is ", + uneven[1][2] ) ; // WRONG!
uneven[2][4] = 97; // OK
uneven[1][4] = 97; // WRONG!
int val = uneven[0][2] ; // OK
int sum = uneven[1][2] ; // WRONG!
}
}
Each row of a 2D array may have a different number
of cells.
In the example,
the array uneven has
If a program refers to a cell that does not exist, bounds checking will catch the error (as the program runs) and generate an exception (which usually will halt your program.)
Notice that row 1 in the above has only two cells. (It is incorrect to think that row 1 has more cells but that only the first two are initialized.) Making an assignment to a cell that does not exist is an error.