Arrays
This chapter introduces arrays, a common multi-dimensional data structure used to store data of the same type. (Note that a class is a "data type" in this sense.) Arrays have some number of dimensions and a number of elements in each dimension. These are established when the array is created. The range of the array's index in each dimension goes from zero to the number of that dimension's elements minus one. A for loop is commonly used to initialize, manipulate, and access the values in an array. Here, we treat one-dimensional arrays, sometimes called vectors.
5. Arrays are Objects
Answer:
The value 17 is put into cell 0 of data
.
Arrays are Objects
Array declarations look like this:
type[] arrayName;
This tells the compiler that arrayName contains a reference to an array containing type. However, the actual array object is not constructed by this declaration. The declaration merely declares a reference variable arrayName which, sometime in the future, is expected to refer to an array object.
Often an array is declared and constructed in one statement, like this:
type[] arrayName = new type[ length ];
This statement does two things: (1) It tells the compiler that arrayName will refer to an array containing cells of type. (2) It constructs an array object containing length in number of cells.
Here are some example array declarations:
double[] grades = new double[35];
// count is an int variable
short[] cost = new short[count];
char[] secretKey = new char[26];
// array ref. variable only
// no array object yet.
int[] future;
An array is an object, and like any other object in Java, it is constructed out of main storage as the program is running. The array constructor uses different syntax than other object constructors:
new type[ length ]
This names the type of data in each cell and the number of cells.
Once an array has been constructed, the number of cells it has does not change. Here is an example:
int[] data = new int[10];
This statement creates an array of 10 int
s, puts a zero into each cell, and puts a reference to that object in data
.
Question 5:
int[] data = new int[10];
- What is the length of the array
data
? - What are the indexes of
data
?