The value 17 is put into slot 0 of data
.
Array declarations look like this:
type[] arrayName;
This tells the compiler that arrayName will be used as the name of an array containing type. However, the actual array is not constructed by this declaration. Often an array is declared and constructed in one statetment like this:
type[] arrayName = new type[ length ];
This tells the compiler that arrayName will be used as the name of an array containing type and constructs an array object containing length number of slots.
An array is an object, and like any other object in Java is constructed out of main storage as the program is running. The array constructor uses different syntax than other object constructors:
new type[ length]
names the type of data in each slot and the number of slots. Once an array has been constructed, the number of slots it has does not change. Our example array might have been declared and constructed like this:
int[] data = new int[10];
This statement creates the array data
and puts a zero into each slot.