The JavaTM Tutorial

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form

Trail: Learning the Java Language
Lesson: Object and Data Basics

## Creating and Using Arrays

> Here's a simple program, called `ArrayDemo`, that creates the array, puts some values in it, and displays the values.

> >     public class ArrayDemo {
> >         public static void main(String[] args) {
> >             int[] anArray;	        // declare an array of integers

> >             anArray = new int[10];	// create an array of integers

> >             // assign a value to each array element and print
> >             for (int i = 0; i < anArray.length; i++) {
> >                 anArray[i] = i;
> >                 System.out.print(anArray[i] + " ");
> >             }
> >             System.out.println();
> >         }
> >     }

> This section covers these topics:
> - Declaring a Variable to Refer to an Array
> - Creating an Array
> - Accessing an Array Element
> - Getting the Size of an Array
> - Array Initializers

### Declaring a Variable to Refer to an Array

> This line of code from the sample program declares an array variable:

> >     int[] anArray;          // declare an array of integers

> Like declarations for variables of other types, an array declaration has two components: the array's type and the array's name. An array's type is written `type[]`, where `type` is the data type of the elements contained within the array, and `[]` indicates that this is an array. Remember that all of the elements within an array are of the same type. The sample program uses `int[]`, so the array called `anArray` will be used to hold integer data. Here are declarations for arrays that hold other types of data:

> >     float[] anArrayOfFloats;
> >     boolean[] anArrayOfBooleans;
> >     Object[] anArrayOfObjects;
> >     String[] anArrayOfStrings;

> As with declarations for variables of other types, the declaration for an array variable does not allocate any memory to contain the array elements. The sample program must assign a value to `anArray` before the name refers to an array.

### Creating an Array

> You create an array explicitly using Java's `new` operator. The next statement in the sample program allocates an array with enough memory for ten integer elements and assigns the array to the variable `anArray` declared earlier.

> >     anArray = new int[10];  // create an array of integers

> In general, when creating an array, you use the `new` operator, plus the data type of the array elements, plus the number of elements desired enclosed within square brackets ('[' and ']').

> >     new elementType[arraySize]

> If the `new` statement were ommitted from the sample program, the compiler would print an error like the following one and compilation would fail.

> >     ArrayDemo.java:4: Variable anArray may not have been initialized.

### Accessing an Array Element

> Now that some memory has been allocated for the array, the program assign values to the array elements:

> >     for (int i = 0; i < arrayOfInts.length; i++) {
> >         anArray[i] = i;
> >         System.out.print(anArray[i] + " ");

> >     }

> This part of the code shows that to reference an array element, either to assign a value to it, or to access the value, you append square brackets to the array name. The value between the square brackets indicates (either with a variable or some other expression) the index of the element to access. Note that in Java, array indices begin at 0 and end at the array length minus 1.

### Getting the Size of an Array

> To get the size of an array, you write

> >     arrayname.length

> Be careful: Programmers new to the Java programming language are tempted to follow `length` with an empty set of parenthesis. This doesn't work because `length` is not a method. `length` is a property provided by the Java platform for all arrays.

> The `for` loop in our sample program iterates over each element of `anArray`, assigning values to its elements. The `for` loop uses `anArray.length` to determine when to terminate the loop.

### Array Initializers

> The Java programming language provides a shortcut syntax for creating and initializing an array. Here's an example of this syntax:

> >     boolean[] answers = { true, false, true, true, false };

> The length of the array is determined by the number of values provided between { and }.

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form